文档介绍:一门自定义编程语言的设计及其编译器的实现太原理工大学·正式毕业答辩PPT太原理工大学·正式毕业答辩PPT什么是编译器?机器语言:直接用计算机能够识别的二进制代码指令来编写程序的语言。由二进制的指令代码组成。1+3表示为100000010000000100000011高级语言:使用人类可以轻易读懂便于书写的语言来编写程序的语言。由二进制的指令代码组成。1+3可以表示为:inta=1,b=3;a=a+b;太原理工大学·正式毕业答辩PPT为什么做编译器?太原理工大学·正式毕业答辩PPT怎么实现编译器?太原理工大学·正式毕业答辩PPT词法分析语法分析语义分析目标代码生成中间代码生成代码优化目标程序源程序出错处理表格管理太原理工大学·正式毕业答辩PPT词法分析太原理工大学·正式毕业答辩PPT词法分析后返回:单词类型单词值保留字int标识符(变量名)a界符;标识符(变量名)a算符(赋值) =标识符(变量名)a算符(加) +整数 2界符;如一个C源程序片断:inta;a=a+2;太原理工大学·正式毕业答辩PPT语法分析太原理工大学·正式毕业答辩PPT比如我程序里的赋值语句的规则<赋值语句>:<标识符>“=”<表达式><表达式>=<表达式>“+”<表达式><表达式>=<表达式>“*”<表达式><表达式>=“(”<表达式>“)”<表达式>=<标识符><表达式>=<整数><表达式>=<实数>