博主今年大三,学校开展了《编译原理》这门课,而老师提的第一个问题便是编译与解释的区别,下面我将会说说自己的看法。 首先我们要知道市面上大致上是有两种类型的语言的:静态语言与动态语言。 静态语言:C/C++,JAVA,C#等等;动态语言:Javascript,Python等等 而静态语言之所以是静态的 ...
分类:
其他好文 时间:
2020-02-19 20:35:37
阅读次数:
66
比较模糊的说法是:数组名就是指针 但两者还是有区别的 从输出结果看两者根本就是两个事物,只能说数组名神似指针,数组名的内涵在于其指代实体是一种数据结构,这种数据结构就是数组;那么数组名到底是什么: 符号表是编译原理中的一个概念,应用于编译器的词法分析和语义分析两个阶段。词法分析的目标是让编译器能知道 ...
分类:
编程语言 时间:
2020-02-19 05:35:24
阅读次数:
84
前言如果你会编译原理,对其中的词法分析算法,语法分析算法足够了解,那么用什么语言来做这样的一件事情都是可以的,之所以使用Python只是因为本人会的编程语言中,Python的使用时间最长,也最得心应手。所谓性能什么的不在本文的考虑范围内,本文主要重点是语法分析的表达式的解析,语法解析使用的是普拉特分析法,一种自顶向下的语法解析方法。文章目录如下:四则运算的问题词法分析语法分析与解释执行参考链接这有
分类:
编程语言 时间:
2020-02-17 17:47:24
阅读次数:
93
Java常量池理解与总结 一.相关概念 1、什么是常量 用final修饰的成员变量表示常量,值一旦给定就无法改变! final修饰的变量有三种:静态变量、实例变量和局部变量,分别表示三种类型的常量。 2、Class文件中的常量池 在Class文件结构中,最头的4个字节用于存储魔数Magic Numb ...
分类:
编程语言 时间:
2020-02-12 16:39:45
阅读次数:
81
Python基础 上学期的课程中我学习了编译原理,虽然成绩渣渣,但是不影响我对编译过程有了整体的理解; Python作为一种计算机编程语言,而计算机要根据编程语言执行任务,就必须保证编程语言写出的程序决不能有歧义,所以,编译器或者解释器就是负责把符合语法的程序代码转换成CPU能够执行的机器码,然后执 ...
分类:
编程语言 时间:
2020-02-02 12:14:48
阅读次数:
64
大三上学期结束了,所有科目的成绩都出了,拉稀的一塌糊涂,但我总觉得为时不晚,所以现在开始重新学习设计模式、Oracle、编译原理。 简单工厂模式 说实话其实很简单,就是当你实例化这个对象的时候,实例化的过程拿出来放到了工厂里面进行,你可以直接拿到这个对象但是你却看不到这个对象的实例过程和实例逻辑。 ...
分类:
其他好文 时间:
2020-01-20 15:04:59
阅读次数:
109
1.原型 / 构造函数 / 实例 原型( prototype ): ?个简单的对象,?于实现对象的 属性继承。可以简单的理解成对象的爹。在 Firefox 和 Chrome 中,每个 JavaScript 对象中都包含?个 proto (?标准)的属性指向它爹(该对象的原型),可 obj. prot ...
分类:
编程语言 时间:
2020-01-14 23:33:37
阅读次数:
101
终于放假了 在学校买了一块51单片机,学了几天了解了一下基础操作。 现在放假,终于可以学完它了。 附上寒假计划 1.学习51单片机,熟悉单片机的使用,一些基本概念。 2.学习STM32,理解微机原理,编译原理,操作系统。 ...
分类:
其他好文 时间:
2020-01-12 09:25:48
阅读次数:
65
规则(重写规则、产生式或生成式) 形如 α→β 或 α::=β 的(α,β)有序对,其中α称为规则的左部,β称为规则的右部,这里的符号 →(::=)读作 "定义为",例如A→a读作 “A定义为a” 文法 G定义为四元组(VN,VT,P,S) 其中VN为非终结符集(语法实体 或 变量);VT终结符集; ...
分类:
编程语言 时间:
2020-01-10 14:12:13
阅读次数:
145
对Pascal程序来说,一个上下文无关文法,可以定义为符号串 A := BC 程序设计语义分为两类:静态语义和动态语义 文法的直观概念 推导或产生句子 例如,我是大学生 <句子> => <主语><谓语> => <代词><谓语> => 我<谓语> => 我<动词><直接宾语> => 我是<直接宾语> ...
分类:
编程语言 时间:
2020-01-08 23:07:42
阅读次数:
137