YACC是语法分析器生成工具中最著名的,也是最早开发出来的一个。该工具和LEX都是源于贝尔实验室的UNIX计划,如今YACC也成为了UNIX系统的标准实用程序。它大大地简化了在语法分析器设计时的手工劳动,将程序设计语言编译器的设计重点放在语法制导翻译上来,从而方便了编译器的设计和对编译器代码的维护。
2021-05-17 09:16:44 48KB YACC 语法分析器
1
TinyCompiler 序言 项目概述 本项目是基于flex,bison和LLVM,使用c ++ 11实现的类C语法编译器,使用flexbindingyacc对源代码进行词法,语法分析;在语法分析阶段生成整个源代码相应的抽象语法树后,根据LLVM IR(中间表示)模块中定义的中间代码语法输出与LLVM中间语言语法,机器无关的中间代码;最后,本项目通过调用LLVM后端模块的接口,根据本地指令集与操作系统架构,将中间代码编译成二进制目标代码。编译生成的目标代码之后可直接编译生成初始化文件,或与其他目标代码链接生成替代文件。 本项目解析的语法与是C语言的一个子集,但部分语法存在区别,这些将在最后的测试用例中具体说明。目前已支持的数据类型包括: 虚空 整型 浮动 双 烧焦 串 布尔 自定义结构体 样本(包括多维样本) 支持的主要语法包括: 变量的声明,初始化(包括一维细分初始化,多维序列暂不支持初始化,只能逐个元素赋值使用) 函数声明,函数调用(传递参数类型可以是任意已支持类型) 外部函数声明和调用 控制流语句if-else,for,while和任意层级的嵌套使用 单行注释(#) 二元运算
2021-05-13 00:02:15 2.01MB bison flex compiler llvm
1
yacc程序实际上是有关语法规则的说明书,它也是由定义部分、规则部分和子程序部分组成的。yacc程序的定义部分类似于lex程序的定义部分
2021-05-02 17:01:54 378KB Lex Yacc 简明教程 pdf
1
Lex和Yacc集成开发环境,Windows下一键安装!不需要使用VS配置环境!不需要调试配置文件!自带编辑器环境EditPlusPortable,安装完成即可使用。 *1:安装目录不要选择"Program Files"的文件夹 *2:安装完成后点击LexEditor.exe即可进入编辑器 *3:详细的编译与使用例程,可以参看博客[不需要配置VS,Windows下一键安装Lex和Yacc集成开发环境!图形化界面操作](https://blog.csdn.net/weixin_42577438/article/details/102544803#3__35)
2021-04-13 15:06:43 30.20MB Lex Yacc 编译 windows
1
笔者实现了一个类似于Lex & Yacc的编译器前端构造工具,该工具基于LALR(1)分析法,支持二义性文法,支持语法制导翻译,支持错误恢复机制,使用它我们可以构造指定词法文法的编译器前端,并且构造的分析器是线程安全的。里面还给出几个示例,构造四则表达式计算器,JSON解析器和C99标准C编译器前端。 编译原理课程的大杀器
2021-04-12 19:13:05 9.41MB 词法分析 语法分析 编译原理 Lex
1
lex与yacc文档。还算比较清晰的扫描版本,基本是绝版了。
2021-04-11 15:56:54 20.48MB 编译
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
simulation-MiniLisp
2021-03-31 14:09:58 274KB Yacc
1
DFA游戏RLO 要编辑此项目,请确保已安装 。 首先,请克隆或下载此存储库。 在下载的文件夹中,您可以双击DFA-Game-RLO.yyp文件在GameMaker中打开该项目。 您还可以通过运行DFA-Game-RLO-Demo.exe文件来播放演示版本。
2021-03-22 10:06:53 32.69MB Yacc
1
编写一个LEX输入文件,使之生成可计算文本文件的字符数、单词数和行数且能够报告这些数字的程序。单词为不带标点或空格的字母和/或数字的序列。标点和空格不算为单词。编写一个LEX输入文件,使之可生成将SPL程序注释之外的所有关键字(保留字)均转换为大写的程序。有关SPL的关键字请见第2章或第8章所述。该LEX生成的程序要能够对SPL源程序进行分析,将不是大写的关键字转换为大写。生成如下文法表示的表达式对应的计算器: exp->exp + exp | exp – exp | exp *exp | exp / exp | exp ^exp | -exp |(exp)|NUM 对于输入的中缀表达式,要给出结果。如3+(4*5)结果应为23.要求能连续处理若干个数学表达式,直到输入结束或文件结束。 已知表达式文法的扩充巴克斯范式为: S->E# E->T+T|T-T T->F*F|F/F F->(E)|I 从键盘或文件输入表达式,利用递归下降法求出其值。若输入表达式有错,则给出报错信息。例如:输入表达式串为13+5*4,则应给出结果为23.
1