机器指令程序:效率低,难以维护修复。
编译程序和解释程序:
语言处理程序:翻译高级程序设计的语言。翻译的形式:汇编,解释和编译。
源程序:由某种高级语言或汇编语言编写的程序
如果是汇编语言写的程序,先有汇编程序翻译成目标目标程序才能执行,程序是由某种高级程序编写,对应的解释程序或者编译程序进行翻译。
解释器:翻译源程序时不生成独立的目标程序。解释程序和源程序要参与程序的运行过程中。
编译器:翻译时将源程序翻译成独立保存的目标程序。机器上运行的时与源程序等价的目标程序,源程序和编译程序都不再参与目标程序的运行过程。
传值调用:
将实参的值传给形参,形参必须有地址,实参不能是常量(值),表达式。
不可以实现实参和实参双向传递数据的结果。
传引用(地址)调用
将实参的地址传给形参,形参必须有地址,实参不能是常量(值),表达式。
可以实现形参和实参间双向传递数据的结果,及改变形参的值的同时也改变了实参的值。
编译方式:词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成。
解释方式:词法分析,语法分析,语义分析
(词法分析,语法分析,语义分析)不可忽略,顺序不可调换
编译器方式中间代码生成和代码优化可省略,编译器方式可忽略它们直接生成目标代码。
符号表:不断收集,记录和使用源程序中一些相关符号的类型和特征等信息,并将其存入符号表中。记录源程序中各个字符的必要信息,以辅助语义的正确性检查和代码生成。
语法分析:
输入:源程序;输出:记号流
词法分析阶段的主要作用是:分析构成程序的字符及由字符按照构造规则构成的符号是否符合程序语言规定