Mini C编译器的设计与实现

Mini C编译器的设计与实现 电子科技大学 《编译原理》课程组 涉及主要知识点 有限状态自动机、下推自动机模型 词法分析原理和技术 语法分析原理和技术 语义分析原理和技术 目标代码生成原理和技术 项目主要实验内容 利用有限自动机生成词法分析程序 利用下推自动机生成语法分析程序 语法制导翻译方法进行语义分析 生成目标机系统的汇编代码 项目进度安排 Mini C语言的设计 实现词法分析程序 语法分析程序 语义分析程序 目标代码生成程序 项目集成 Mini C语言的设计 MINI C语言是本实验设计并实现的简化的C语言。 MINI C语言的程序结构简单, 语法与C相同,规模小于C语言。 MINI C语言的源程序是一个由分号分隔开的语句序列。 Mini C语言的设计 MINI C 语言只有两个控制语句:if语句和while 语句 , if语句有一个可选的else部分。 除此之外,还有I/O语句(输入语句一次只读入一个变量,输出语句一次只输出一个表达式的值)。 Mini C语言的设计 MINI C语言的表达式也局限于布尔表达式和算术表达式。 布尔表达式由对两个算术表达式的比较组成 所有比较使用 < 和 == 运算符。 Mini C语言的设计 算术表达式可以包括常数、变量、以及4个算术运算符+、-、*、/。 使用( )改变运算的默认顺序; 布尔表达式通常只作为测试条件出现在控制语句中。 Mini C语言的设计 作为一次完整的编译开发实践, MINI C 语言已经足够体现出一个编译器的开发过程了。 MINI C语言的词法规则 MINI C语言的记号分为3种典型的类型:关键字、特殊符号和“其它”记号。 关键字一共有8个,它们的含义与C语言中的相应关键字相同。 if、else、while、goto、do、void、continue、break MINI C语言的词法规则 特殊符号共有12种: 4种基本的算术运算符号 +、-、*、/ 2种比较符号

更多推荐

c语言编译器 mini,Mini C编译器的设计与实现.ppt