草庐IT

SysY文法编译器前端设计实现

一.实验概述    1.1编译器概况本次实验,我实现了SysY文法的编译器前端,在windows环境下使用mingw32-make进行编译,具体细节如下:词法分析使用flex自动生成;语法分析使用bison自动生成,在语法分析过程中生成抽象语法树AST;IR生成手动实现,递归遍历抽象语法树,生成老师提供的IR,测例通过率99.03%,仅一个测例未通过;minic编译器前端支持的功能:minic-i-oxxx.irxxx.c                        :生成ir文件minic-a-oxxxxxx.c                          :生成ast树到控制台mi

SysY语言(C子集)简单词法分析

词法分析_实现C语言简单词法分析介绍编写.l文件并利用flex自动生成词法分析器;编写.c文件直接实现词法分析器。项目链接:https://gitee.com/Brett-Tseng/Lexical_Analysis使用说明01~06均为测试用例auto_lex.l为编写的正则,使用时需要将其拖拽到win_flex.exe上,会生成一个lex.yy.c,利用如下语句将其编译:gcc-oscanlex.yy.c生成的scan可以直接使用,例如,如果想测试01用例,则使用如下语句:.\scanman_lex.c为仿照lex.yy.c的功能手写的一个文件,也可将其编译并使用,编译语句为:gcc-om

SysY语言(C子集)简单词法分析

词法分析_实现C语言简单词法分析介绍编写.l文件并利用flex自动生成词法分析器;编写.c文件直接实现词法分析器。项目链接:https://gitee.com/Brett-Tseng/Lexical_Analysis使用说明01~06均为测试用例auto_lex.l为编写的正则,使用时需要将其拖拽到win_flex.exe上,会生成一个lex.yy.c,利用如下语句将其编译:gcc-oscanlex.yy.c生成的scan可以直接使用,例如,如果想测试01用例,则使用如下语句:.\scanman_lex.c为仿照lex.yy.c的功能手写的一个文件,也可将其编译并使用,编译语句为:gcc-om