文件名称:Lex_Yacc 编译器设计示例代码及参考文档
文件大小:450KB
文件格式:RAR
更新时间:2016-04-02 02:58:10
Lex Yacc 编译器 设计 示例代码
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进行编译器设计者参考
【文件预览】:
LexAndYaccTutorial
----lexyacc.tgz(5KB)
----Compiler Construction using Flex and Bison.pdf(377KB)
----lexyacc-simple.tgz(5KB)
----cc-ansi99-parser_20130313_082654.tgz(4KB)
----LexAndYaccTutorial.pdf(131KB)
----LexAndYaccTutorial_20130311_041140.tgz(7KB)