Mini-C编译器设计与实现 文档+任务书+评价表+PPT+项目源码

Mini-C编译器设计与实现 文档+任务书+评价表+PPT+项目源码目录 概述 系统描述 2 1 自定义语言概述 2 2 单词文法与语言文法 2 3 符号表结构定义 2 4 错误类型码定义 2 5 中间代码结构定义 2 6 目标代码指令集选择 系统设计与实现 3 1 词法分析器 3 2 语法分析器 3 3 符号表管理 3 4 语义检查 3 5 报错功能 3 6

大家好,我是讯享网,很高兴认识大家。

目录

  1. 概述
  2. 系统描述

2.1. 自定义语言概述

2.2. 单词文法与语言文法

2.3. 符号表结构定义

2.4. 错误类型码定义

2.5. 中间代码结构定义

2.6. 目标代码指令集选择

  1. 系统设计与实现

3.1. 词法分析器

3.2. 语法分析器

3.3. 符号表管理

3.4. 语义检查

3.5. 报错功能

3.6. 中间代码生成

3.7. 代码优化

3.8. 汇编代码生成

  1. 系统测试与评价

4.1. 测试用例

4.2. 正确性测试

4.3. 报错功能测试

4.4. 系统的优点

4.5. 系统的缺点

  1. 实验小结或体会
  2. 参考文献

附件:源代码

  1. 概述

本次实验是构造一个高级语言的子集的编译器,目标代码是汇编语言。按照任务书,实现的方案可以有很多种选择。

可以根据自己对编程语言的喜好选择实现。建议大家选用decaf语言或C语言的简单集合SC语言。

实验的任务主要是通过对简单编译器的完整实现,加深课程中关键算法的理解,提高学生系统软件研发技术。


讯享网

系统描述

2.1. 自定义语言概述

自定义语言是基于C语言的简化语言,具有C语言中最为基础的内容,包括基本的运算操作、if-else、for、while循环语句,自定义函数和变量等。

2.2. 单词文法与语言文法

Mini-C的文法如下:

G[program]:

program → ExtDefList

ExtDefList → ExtDef ExtDefList | ε

ExtDef → Specifier ExtDecList ;| SpecifierFunDecCompSt

Specifier → int | float | char | StructSpecifier

ExtDecList → VarDec | VarDec , ExtDecList

VarDec → ID | VarDec ( Exp )

FucDec → ID ( VarList ) | ID ()

VarList → ParamDec ,VarList | ParamDec

ParamDec → Specifier VarDec

CompSt → { DefList StmList }

StmList → Stmt StmList | ε

Stmt → Exp ; | CompSt | returnExp ; | FOR ( Exp ; Exp ; Exp ) Stmt | if ( Exp )Stmt | if( Exp ) Stmt else Stmt| while ( Exp ) Stmt

DefList → Def DefList | ε

Def →Specifier DecList ;

DecList → Dec | Dec ,DecList

Dec → VarDec | VarDec =Exp

Exp → Exp=Exp | Exp && Exp | Exp | |Exp | Exp < Exp| Exp <= Exp | Exp == Exp | Exp != Exp | Exp > Exp | Exp >= Exp | Exp +Exp| Exp -Exp | Exp *Exp | Exp /Exp | INT | FLOAT | CHAR | VarDec | Exp ++ | Exp – | ++ Exp | --Exp | VarDec += Exp | VarDec -= Exp | VarDec *= Exp | VarDec /= Exp | BREAK | CONTINUE | Exp . ID | ( Exp ) | -Exp | ! Exp | ID ( Args ) | ID ()

Args → Exp , Args | Exp

StructSpecifier → STRUCT StructName { ExtDefList } | STRUCT ID

StructName → ID | ε

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

本文转载自:http://www.biyezuopin.vip/onews.asp?id=15506

小讯
上一篇 2025-01-27 18:04
下一篇 2025-02-17 20:44

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/49623.html