这是我本科编译原理课上完成的实验(C语言编写),文件打包了从词法分析、语法分析到语义分析的代码,使用codeblock编写。
2023-01-04 20:14:46 156KB 词法分析 语法分析 语义分析
1
这是编译原理的分析器,一直做到了中间代码生成。词法分析能识别基本的c语言的语言元素,语法分析用了预测分析法,递归下降法。语义分析也做了,能够识别赋值,循环,条件等多种语句。
1
内容摘要 对源文件进行词法分析,语法分析和语义分析,分析当前单词,回送给语法分析程序同时产生相应的二元式文件和符号表。在此过程中,应用SLR(1)文法。同时设计状态站、符号栈、语义栈,在进行语法分析时,也伴随着语义的分析,根据赋值语句和算数表达式的文法及相应的语义子程序,最后生成一个四元式文件,存放结果。 关键字:SLR(1) 符号栈 状态栈 语义栈 词法、语法、语义分析
1
用java语言编写的词法分析器、语法分析器和语义分析器,已经内置了静态的基本语言,通过文件读入代码,上传供各位学习交流使用。
2021-11-26 18:05:53 5KB java 编译 词法分析器 语法分析器
1
选择部分C语言的语法成分,设计其词法分析程序、语法语义分析程序并采用编译的方法将C语言表达式翻译成后缀式形式
1
编译原理原理课程设计,源码加报告。这是我的课程设计,其中包括了语法语义分析
2021-10-26 09:06:03 3.88MB 编译原理 语法语义分析
1
编译原理课上的实验,包括词法分析器,语法分析器(LL(1)、LR),语义分析器 语言:C#
2021-06-18 01:40:16 162KB 编译原理
1
该编译器的词法分析部分能够识别以 PASCAL 语言编写的源程序,并进行词法分析给出分析结果。该词法分析器能够实现:有正确的单词流输出(类型码、坐标、单词的值);能够检查词法是否有错误(输出词法错误如果没有错误,返回 0,如果有错误,需要报告词法错误在源程序中的位置。能够越过错误,分解下一个单词,直到源程序结束);能够过滤空格、Tab、回车、识别注释,并去掉注释;整数能够处理越界(整数一旦超过 65535,则自动识别为 65535),标识符识别前 8 位(标识符一旦超过 8,则自动识别为 8 位);该词法分析器主要经过有限自动机的状态跳转来实现,根据自动机结束状态来得到该单词的 token 值。 该编译器的语法部分采用了 SLR(1)分析法,实现对表达式、各说明语句、控制语句 进行语法分析。若语法分析正确,则用语法制导翻译进行语义分析;若是出错,则报告语法错误,并给出语法在源程序中的位置。该编译器语义分析部分采用了自底向上分析的 S 属性文法,该阶段最终实现生成四元式的中间代码。
1
简单的编译器,可以进行词法语法语义分析及代码生成
2020-01-03 11:24:14 22KB 小编译器 c++
1
递归下降分析方法,词法、语法、语义分析生成四元式
2019-12-21 22:15:41 558KB 词法 语法 语义分析 生成四元式
1