嵌入式系统设计师学习笔记二十八:嵌入式程序设计③——高级程序设计语言
解释程序和编译程序
编译器的工作阶段示意图
语法错误:非法字符,关键字或标识符拼写错误
语法错误:语法结构出错,if……endif 不匹配,缺分号
语义错误:死循环,零除数,其他逻辑错误
解释程序的基本原理
解释程序是另一种语言处理程序,在词法、语法和语义分析方面与编译程序的工作原理基本相同。
但在运行用户程序时,它直接执行源程序或源程序的内部形式。因此,解释程序与编译程序最大的区别就是不产生源程序的目标程序。
解释程序通常可分为两部分:
分析部分:包括通常的词法分析、语法分析和语义分析程序,经分析后把源程序翻译成中间代码。
解释部分:用来对第一部分所产生的中间代码进行解释执行。
解释语句实现高级语言的三种方式
源程序被直接解释执行的处理方式,如图标记A,这种解释程序对源程序逐个字符进行检查,然后执行语句规定的动作。如:GOTO L
解释程序也可以先将源程序翻译成某种中间代码形式,然后对中间代码进行解释,实现用户程序的运行。解释方式B和C的不同之处在于中间代码的级别。
编译程序对高级语言源程序进行编译的过程中,要不断收集、记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。