or
一.编译与解释
编译型:将某种程序语言编写的源程序直接翻译成另一种语言(目标语言程序),而且两者在逻辑上完全等价。例如:C语言。
解释型:接收所输入的源程序,然后直接解释执行。例如:Basic语言。
二.编译过程
使用编译程序将高级语言程序翻译为等价的 机器语言程序的过程。
分为:词法分析、语法分析、语义分析、中间代码生成、代码优化、目标代码生成以及贯穿始终的表格管理和出错处理。
编译程序使用的中间代码通常是逆波兰式、三元式、四元式和树形四种表达式。
代码优化:根据所涉及的程序范围,可以分为局部优化、循环优化和全局优化三个级别。
目标代码生成:目标代码生成是把经过语法分析或优化后的中间代码作为输入,将其转化为特定机器语言或汇编语言代码作为输出,这样的转换程序称为代码生成器。
三.形式文法
四.正规式
对于字母表:
空集是正规表达式。
任何属于a的,都是其正规式。
假定U和V都是正规式,那它们的或、连接、闭包都是正规式。
通常在正规表达式中,一元运算符“*”具有最高优先级,连接运算符具有次优先级,运算符“|”具有最低优先级。这三个都是左连接的。
每一个正规表达式R都对应一个有限自动机M,使M所接受的语言就是正规表达式的值。
五.编译分析
六.备注