不知道怎么一次性上传两个文件 lex代码 在另一个下载地址http://download.csdn.net/detail/leecoding/9534587 下载后修改文件后缀为.y 编译后 运行时需要使用 < 文件名.txt 来导入文件流 (具体的文件流知识可以去搜索,如果不明白)
2019-12-21 20:06:28 4KB 华中科技大学 编译原理 yacc
1
一个自己写的命令行下交互式计算器,支持四则混合运算,优先级,循环表达式,条件表达式,函数等,变量定义有作用域, 支持自定义函数, 支持矩阵运算和复数. 本程序使用yacc生成表达式分析器, *.l文件需要flex来编译,*.y文件使用bison编译. 此源代码仅供学习和参考
2019-12-21 20:04:17 172KB C++ yacc 计算器
1
Lex_Yacc 编译器设计示例代码及参考文档 1.LexAndYaccTutorial_20130311_041140.tgz代码包 生成 calc3a 解释执行 calc3b 生成基于栈的机器的汇编程序 calc3g 生成程序的语法树 用法: # ./calc3a a.src u = 5 5 120 halt a.src是个计算阶乘的源代码 n = 1; p = 1; read u; print u; while (n <= u) { p = p * n; n = n + 1; } print p; calc3b 生成基于栈的机器的汇编程序 用法: # ./calc3b a.src push 1 pop n push 1 pop p read pop u push u print L000: push n push u cmpLE jFalse L001 push p push n mul pop p push n push 1 add pop n jmp L000 L001: push p print halt 2.lexyacc-simple.tgz,一个简单的simple语言的编译器,可以解释执行,也可编译为栈机器的汇编语言。 3.cc-ansi99-parser_20130313_082654.tgz,一个ansi99标准的C语言的编译器,只进行词法和语法分析,不生成目标代码。 4.同时好有配套的2篇文档:LexAndYaccTutorial.pdf,Compiler Construction using Flex and Bison.pdf 供采用Lex Yacc进行编译器设计者参考
2019-12-21 20:01:04 450KB Lex Yacc 编译器 设计
1
利用语法分析器生成工具Yacc/Bison编写一个语法分析程序,与词法分析器结合,能够根据语言的上下文无关文法,识别输入的单词序列是否文法的句子。 有报告,有代码 输入:代码片断 输出:规约产生式
2019-12-21 19:58:52 189KB 编译原理 语法分析器
1
这个里面的都是测试数据,总共得分5分。从控制台输入,不能从文件中读取。实现了基本功能,加分项目都没有去实现,没有函数数组这些的实现。这是用C++语言写的,新建parser类别要选C++,其他对于VS的配置和C语言一样。for语句用的是枚举所有情况,你可以自行修改。 对预备工作中自然语言描述的简化C编译器的语言特性的语法,设计上下文无关文法进行描述 借助Yacc工具实现语法分析器 考虑语法树的构造: 1.语法树数据结构的设计:节点类型的设定,不同类型节点应保存哪些信息,多叉树的实现方式 2.实现辅助函数,完成节点创建、树创建等功能 3.利用辅助函数,修改上下文无关文法,设计翻译模式 4.修改Yacc程序,实现能构造语法树的分析器 考虑符号表处理的扩充 1.完成语法分析后,符号表项应增加哪些标识符的属性,保存语法分析的结果 2.如何扩充符号表数据结构,Yacc程序如何与Lex程序交互,正确填写符号表项 以一个简单的C源程序验证你的语法分析器,可以文本方式输出语法树结构,以节点编号输出父子关系,来验证分析器的正确性,如下例: main() { int a, b; if (a == 0) a = b + 1; } 可能的输出为: 0 : Type Specifier, integer, Children: 1 : ID Declaration, symbol: a Children: 2 : ID Declaration, symbol: b Children: 3 : Var Declaration, Children: 0 1 2 4 : ID Declaration, symbol: a Children: 5 : Const Declaration, value:0, Children: 6 : Expr, op: ==, Children: 4 5 7 : ID Declaration, symbol: a Children: 8 : ID Declaration, symbol: b Children: 9 : Const Declaration, value:1, Children: 10: Expr, op: +, Children: 8 9 11: Expr, op: =, Children: 7 10 12: if statement, Children: 6 11 13: compound statement, Children: 3 12
2019-12-21 19:58:45 3.77MB LEX YACC 南开 王刚
1
快要过去的一个学期里,学了编译原理,课程大作业写简易C编译器。能实现加减乘除四则运算,取模赋值运算,逻辑表达式运算,复合语句,if,while,for语句~支持输入输出,最终生成汇编语言代码。移位运算没写。 调试过了,如有好建议请大家赐教。
1
上次我传了一个flex在windows上的移植版本,这次我将lex之后的工作——语法分析生成器yacc的windows版也上传了吧。这里我并没有什么原创,就是帮助大家配置了一下实验环境,让在windows的爱好者可以继续编译原理的实验。使用前请参看其中的readme。
2019-12-21 19:53:13 3.82MB YACC Windows bison
1
我找了N久,才找到的资源,拿出来和大家一同分享,里面有flex.exe和bison.exe以及相关的文件。觉得好的话,请大家顶一下。
2019-12-21 19:52:31 96KB lex.exe yacc.exe flex.exe bison.exe
1
lex和yacc构建的SQL分析器,lex和yacc构建的SQL分析器
2019-12-21 19:50:07 3KB lex yacc SQL分析器
1
Windows平台下学习Lex与Yacc的必备工具,flex-2.5.4a-1.exe 和 bison-2.4.1-setup.exe 以及 cygwin2.738 的安装文件
2019-12-21 19:45:10 5.32MB cygin flex bison
1