笔者实现了一个类似于Lex & Yacc的编译器前端构造工具,该工具基于LALR(1)分析法,支持二义性文法,支持语法制导翻译,支持错误恢复机制,使用它我们可以构造指定词法文法的编译器前端,并且构造的分析器是线程安全的。里面还给出几个示例,构造四则表达式计算器,JSON解析器和C99标准C编译器前端。 编译原理课程的大杀器
2021-04-12 19:13:05 9.41MB 词法分析 语法分析 编译原理 Lex
1
基于《编译原理教程(第四版)》胡元义 第三章 语法分析 伪代码(P52-53)实现的递归下降分析器。 自顶向下的语法分析 实现方式:c语言 内容包括: (1) 文法 (2) 源代码 分析的字符串为i*(i+i)# 注意:c语言实现时,尽量贴合书本伪代码去写的。
1
ANTLR 接受 3类语法规范——语法分析器(parsers) ,词法分析器(lexers) ,和树分析器(tree-parsers)(也叫树遍历器 tree-walkers)。 由于 ANTLR 使用 LL(k) 分析所有的 3 种语法变型,并且语法说明相似,因而产生的 lexers 和语法分析程序也很类似。另外产生的识别程序可读性很好,你可以查看输出的内容来明白很多关于 ANTLR 的机理。 ANTLR 接受C语言风格的块注释和 C++风格的行注释。在语法类和规则中,Java 风格的文档注释也是可以接受的,在需要的时候,这些注释可以被传递给生成的输出文件。 ANTLR, 语言识别的另一个工具(ANother Tool for Language Recognition ),(前身是PCCTS)是一种语言工具,它提供了一个框架,可以通过包含 Java,C++,或C#动作(action)的语法描述来构造语言识别器,编译器和解析器。 计算机语言的解析已经变成了一种非常普遍的工作。 传统的计算机语言的编译器和工具(如 C 或Java)仍旧需要被构造,它们的数量与需要开发的那些成千上万的小语言的识别工具和解析工具相比是相形见拙。程序员为了解析数据格式,图形文件(如, PostScript,AutoCAD),文本文件(如,HTML,SGML等)而需要构造解析器。ANTLR 被设计出来处理所有这些转换工作。
2021-04-03 21:48:14 1.46MB antlr 语法分析 词法分析
1
c语法分析器,采用bison2.1(yacc), flex(lex), 生成程序的语法树 分析单个文件,不支持预处理, 不解析预处理符号# bison,flex工具在上传包内,语法见cgrammar-new.y,词法见input.lex 另附相关说明,本代码采用vs2005,建立console工程即可编译运行。 测试文件test.c, 输出结果out.txt
2021-04-02 20:04:10 914KB c 语法分析 yacc bison
1
本资源为pl0词法语法分析器,为编译原理课程的大作业,运行正常
2021-04-01 14:48:30 240KB pl0 语法 词法
1
visualStudio2019运行,c# wpf桌面应用程序,实现了简单的词法分析器、语法分析器功能,主要功能为打开文件,保存文件,另存文件,词法分析,语法分析(if语句,布尔表达式等等)
2021-03-31 12:41:23 951KB c# 编译原理
1
语法分析递归下降样例.doc
2021-03-29 16:09:32 111KB 语法分析 编译原理 递归下降
语法分析递归下降样例.doc
2021-03-29 16:09:31 153KB 编译原理 语法分析 实验报告
实现了网页可编程计算器,包括普通的数值计算、函数定义等功能 前端由python flask实习 后端由flex、bison实现词法、语法分析 需要安装flex、bison、python的flask包以及vs(需要用到vs的cl)
1
kastree是一个简单的库,可以将kotlin源代码作为一组ast对象进行操作。特征:
2021-03-25 10:41:26 35KB 开源项目
1