这是课程设计的一部分,只实现了中间代码生成前面的词法,语法等分析功能
2021-05-08 17:47:11 224KB 编译器 前端
1
c语言下的词法和语法分析器,图形界面 很不错的 用作编译语言的课程作业再好不过
2021-04-29 11:44:18 76KB 看到的 词法分析 语法分析
1
编译原理实验课程,java实现词法分析,递归下降的语法分析,用netbean工具,可以直接使用。
2021-04-27 11:10:19 77KB 词法分析 语法分析
1
这是我毕设的一部分,毕设做的是C语言编译器,这部分是编译器的词法分析和语法分析。开发平台Visual Stuido 2010。语法分析仅仅是分析语法对不对,如果对会输出“OK”,反之输出“ERROR”词法分析完会把单词和类型列出,类型是我自己定义的枚举值。还有就是我定义了源程序中定义和生命函数时,如果没有参数必须加上"void"参数,否则报错。例如 void main(void){}
2021-04-26 11:35:55 5.79MB C语言 词法分析 语法分析
1
笔者实现了一个类似于Lex & Yacc的编译器前端构造工具,该工具基于LALR(1)分析法,支持二义性文法,支持语法制导翻译,支持错误恢复机制,使用它我们可以构造指定词法文法的编译器前端,并且构造的分析器是线程安全的。里面还给出几个示例,构造四则表达式计算器,JSON解析器和C99标准C编译器前端。 编译原理课程的大杀器
2021-04-12 19:13:05 9.41MB 词法分析 语法分析 编译原理 Lex
1
实现了网页可编程计算器,包括普通的数值计算、函数定义等功能 前端由python flask实习 后端由flex、bison实现词法、语法分析 需要安装flex、bison、python的flask包以及vs(需要用到vs的cl)
1
编译原理实验,包括词法分析,语法分析,生成四元式
2021-02-07 11:05:11 27KB C java 词法分析 语法分析
1
包括三个实验:词法分析、语法分析、语义分析,每个实验都有代码及报告,代码自己写的,通过运行
1
编译原理实验指导书 实验一 词法分析程序(扫描器)的设计 实验二 递归下降语法分析程序设计 实验三 LL(1)语法分析器设计 实验四 算符优先分析器设计 实验五 LR分析器设计 实验六 语法制导翻译程序设计 相关实验代码稍后上传...
1
1. 课程设计目标 实验建立C-编译器。只含有扫描程序(scanner)和语法分析(parser)部分。 2. 分析与设计 C-编译器设计的整体框架,本实验实现扫描处理和语法分析程序(图中粗黑部分)。 2.1 、扫描程序scanner部分 2.1.1系统设计思想 设计思想:根据DFA图用switch-case结构实现状态转换。 惯用词法: ① 语言的关键字:else if int return void while ② 专用符号:+ - * / < >= == != = ; , ( ) [ ] { } /* */ ③ 其他标记是ID和NUM,通过下列正则表达式定义: ID = letter letter* NUM = digit digit* letter = a|..|z|A|..|Z digit = 0|..|9 大写和小写字母是有区别的 ④ 空格由空白、换行符和制表符组成。空格通常被忽略,除了它必须分开ID、NUM关键字。 ⑤ 注释用通常的C语言符号/ * . . . * /围起来。注释可以放在任何空白出现的位置(即注释不能放在标记内)上,且可以超过一行。注释不能嵌套 说明:当输入的字符使DFA到达接受状态的时候,则可以确定一个单词了。初始状态设置为START,当需要得到下一个token时,取得次token的第一个字符,并且按照DFA与对此字符的类型分析,转换状态。重复此步骤,直到DONE为止,输出token类型。当字符为“/”时,状态转换为SLAH再判断下一个字符,如果为“*”则继续转到INCOMMENT,最后以“*”时转到ENDCOMMENT状态,表明是注释,如果其他的则是字符停滞于当前字符,并且输出“/”。 2.1.2程序流程图
1