文件名称:uidaho-cs445-compiler-project:CS445 编译器和翻译器设计项目
文件大小:108KB
文件格式:ZIP
更新时间:2024-06-26 12:42:04
C
编译器和翻译器设计项目 安德鲁·施瓦茨迈尔 概括 爱达荷大学 - 计算机科学系 :编译器和翻译器设计,作者:Clinton Jeffery 博士 这是一个正在进行中的老式编译器,使用 Flex 和 Bison 来处理 C++ 的一个子集,被称为“120++”,因为它应该适用于大多数用 CS 120 编写的代码,包括基本类。 此 repo 位于: : 作业 作业 #1:词法分析器 根据,我最初的目标是为 120++ 创建一个词法分析器(使用 )。 作业 #2:语法树 根据,我的第二个目标是编写(或重用)一个与 Bison 一起使用的 120++ 语法。 作业 #3:语义分析 根据,我的第三个目标是对语法树执行语义分析(包括填充符号表和类型检查表达式)。 作业 #4:中间代码生成 根据,我的第四个目标是实现中间代码生成,即给定解析树的三地址指令列表。 作业 #5:最终代码生成 根据
【文件预览】:
uidaho-cs445-compiler-project-master
----rules.h(2KB)
----symbol.c(33KB)
----intermediate.h(2KB)
----.gitignore(143B)
----parser.y(29KB)
----README.org(2KB)
----intermediate.c(28KB)
----Makefile(3KB)
----data()
--------pass()
--------examples()
--------lambda.cpp(2KB)
--------fail()
--------class.cpp(96B)
----test_tree.c(3KB)
----test_list.c(5KB)
----.travis.yml(277B)
----rules.c(3KB)
----hasht.h(1KB)
----tree.c(5KB)
----logger.c(3KB)
----scope.c(981B)
----LICENSE(34KB)
----final.h(306B)
----token.h(756B)
----include_iostream.h(213B)
----test.c(902B)
----node.c(1KB)
----type.h(2KB)
----test.h(459B)
----test_hasht.c(2KB)
----final.c(10KB)
----scope.h(585B)
----lookup3.c(35KB)
----node.h(592B)
----token.c(5KB)
----include_string.h(351B)
----list.h(2KB)
----hasht.c(7KB)
----tree.h(1KB)
----libs.h(386B)
----symbol.h(758B)
----TODO.org(1KB)
----include_fstream.h(365B)
----list.c(7KB)
----logger.h(588B)
----args.h(413B)
----lexer.l(15KB)
----include_c.h(1KB)
----type.c(9KB)
----main.c(11KB)