PLD-COMP:该项目的目的是为C语言的子集设计一个编译器。 编译器是用C ++编写的,并使用antlr4-源码

上传者: 42172204 | 上传时间: 2021-09-19 20:32:18 | 文件大小: 1.89MB | 文件类型: ZIP
C++
使用Antlr4 / C ++的C编译器(H4244) 这是里昂国际计算机学院(INSA Lyon)在计算机科学领域第4年的长期项目。 目的是为C编程语言的子集创建一个编译器。 grammar/包含C子集的Antlr4语法(.g4文件) src/包含源代码(.cpp和.h文件) tests/包含与测试相关的所有内容 先决条件 确保创建包含本地Antlr4路径的Makefile.local文件,例如: ANTLR4_BINDIR=/usr/bin ANTLR4_INCDIR=/usr/include/antlr4-runtime ANTLR4_LIBDIR=/usr/lib/x86_64-linux-gnu ANTLR4_RUNTIME=libantlr4-runtime.a 执行 用make编译项目。 运行./ifcc main.c来运行我们的编译器main.c 。 测验 使用mak

文件下载

资源详情

[{"title":"( 71 个子文件 1.89MB ) PLD-COMP:该项目的目的是为C语言的子集设计一个编译器。 编译器是用C ++编写的,并使用antlr4-源码","children":[{"title":"PLD-COMP-main","children":[{"title":"src","children":[{"title":"visitor.h <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"ASTNode.h <span style='color:#111;'> 5.88KB </span>","children":null,"spread":false},{"title":"symboltable.h <span style='color:#111;'> 2.44KB </span>","children":null,"spread":false},{"title":"Program.cpp <span style='color:#111;'> 312B </span>","children":null,"spread":false},{"title":"visitor.cpp <span style='color:#111;'> 5.89KB </span>","children":null,"spread":false},{"title":"main.cpp <span style='color:#111;'> 1.99KB </span>","children":null,"spread":false},{"title":"IR.cpp <span style='color:#111;'> 3.06KB </span>","children":null,"spread":false},{"title":"IR.h <span style='color:#111;'> 8.03KB </span>","children":null,"spread":false},{"title":"Program.h <span style='color:#111;'> 533B </span>","children":null,"spread":false}],"spread":true},{"title":"LICENSE <span style='color:#111;'> 34.33KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 820B </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 1.60KB </span>","children":null,"spread":false},{"title":"tests","children":[{"title":"wrapper.sh <span style='color:#111;'> 767B </span>","children":null,"spread":false},{"title":"test.py <span style='color:#111;'> 7.71KB </span>","children":null,"spread":false},{"title":"gui","children":[{"title":"launch.sh <span style='color:#111;'> 299B </span>","children":null,"spread":false},{"title":"antlr-4.9-complete.jar <span style='color:#111;'> 2.00MB </span>","children":null,"spread":false},{"title":"ifcc.g4 <span style='color:#111;'> 1.63KB </span>","children":null,"spread":false},{"title":"C.g4 <span style='color:#111;'> 19.51KB </span>","children":null,"spread":false},{"title":"main.c <span style='color:#111;'> 62B </span>","children":null,"spread":false}],"spread":true},{"title":"test.sh <span style='color:#111;'> 183B </span>","children":null,"spread":false},{"title":"unsupported","children":[{"title":"condition_ifelseif.c <span style='color:#111;'> 183B </span>","children":null,"spread":false},{"title":"function_parameters.c <span style='color:#111;'> 108B </span>","children":null,"spread":false},{"title":"comments.c <span style='color:#111;'> 181B </span>","children":null,"spread":false},{"title":"condition_else.c <span style='color:#111;'> 122B </span>","children":null,"spread":false},{"title":"while.c <span style='color:#111;'> 93B </span>","children":null,"spread":false},{"title":"char.c <span style='color:#111;'> 51B </span>","children":null,"spread":false},{"title":"codeblock.c <span style='color:#111;'> 82B </span>","children":null,"spread":false},{"title":"function_multiply.c <span style='color:#111;'> 131B </span>","children":null,"spread":false},{"title":"condition_ifelse.c <span style='color:#111;'> 169B </span>","children":null,"spread":false},{"title":"condition_elseif.c <span style='color:#111;'> 136B </span>","children":null,"spread":false},{"title":"condition_if_simple.c <span style='color:#111;'> 136B </span>","children":null,"spread":false},{"title":"function_declaration.c <span style='color:#111;'> 51B </span>","children":null,"spread":false},{"title":"function_number.c <span style='color:#111;'> 91B </span>","children":null,"spread":false},{"title":"condition_if.c <span style='color:#111;'> 305B </span>","children":null,"spread":false},{"title":"condition_ifelseifelse.c <span style='color:#111;'> 221B </span>","children":null,"spread":false},{"title":"function_useless.c <span style='color:#111;'> 77B </span>","children":null,"spread":false}],"spread":false},{"title":"tests","children":[{"title":"uninitialized_variable.c <span style='color:#111;'> 58B </span>","children":null,"spread":false},{"title":"declarations.c <span style='color:#111;'> 42B </span>","children":null,"spread":false},{"title":"no_newline.c <span style='color:#111;'> 38B </span>","children":null,"spread":false},{"title":"return.c <span style='color:#111;'> 29B </span>","children":null,"spread":false},{"title":"identifiers_numbers.c <span style='color:#111;'> 48B </span>","children":null,"spread":false},{"title":"plaintext.c <span style='color:#111;'> 19B </span>","children":null,"spread":false},{"title":"return_uninitialized_variable.c <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"mi_parcours.c <span style='color:#111;'> 97B </span>","children":null,"spread":false},{"title":"calculations.c <span style='color:#111;'> 116B </span>","children":null,"spread":false},{"title":"missing_semicolon.c <span style='color:#111;'> 45B </span>","children":null,"spread":false},{"title":"unreachable.c <span style='color:#111;'> 96B </span>","children":null,"spread":false},{"title":"missing_eof.c <span style='color:#111;'> 30B </span>","children":null,"spread":false},{"title":"affectation_multi.c <span style='color:#111;'> 67B </span>","children":null,"spread":false},{"title":"negatives.c <span style='color:#111;'> 49B </span>","children":null,"spread":false},{"title":"directives.c <span style='color:#111;'> 78B </span>","children":null,"spread":false},{"title":"calculations_with_parenthesis.c <span style='color:#111;'> 181B </span>","children":null,"spread":false},{"title":"substractions.c <span style='color:#111;'> 101B </span>","children":null,"spread":false},{"title":"unreadable.c <span style='color:#111;'> 60B </span>","children":null,"spread":false},{"title":"missing_return.c <span style='color:#111;'> 45B </span>","children":null,"spread":false},{"title":"double_definition.c <span style='color:#111;'> 59B </span>","children":null,"spread":false},{"title":"double_declaration.c <span style='color:#111;'> 51B </span>","children":null,"spread":false},{"title":"undeclared_variable.c <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"inline_declaration.c <span style='color:#111;'> 46B </span>","children":null,"spread":false},{"title":"multiplications.c <span style='color:#111;'> 121B </span>","children":null,"spread":false},{"title":"divison_by_zero.c <span style='color:#111;'> 52B </span>","children":null,"spread":false},{"title":"definition.c <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"additions.c <span style='color:#111;'> 119B </span>","children":null,"spread":false},{"title":"affectation_single.c <span style='color:#111;'> 44B </span>","children":null,"spread":false},{"title":"identifiers.c <span style='color:#111;'> 125B </span>","children":null,"spread":false},{"title":"divisions.c <span style='color:#111;'> 107B </span>","children":null,"spread":false},{"title":"return_variable.c <span style='color:#111;'> 45B </span>","children":null,"spread":false},{"title":"identifiers_tokens.c <span style='color:#111;'> 98B </span>","children":null,"spread":false}],"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 291B </span>","children":null,"spread":false},{"title":"grammar","children":[{"title":"ifcc.g4 <span style='color:#111;'> 1.85KB </span>","children":null,"spread":false}],"spread":true},{"title":"maintest.c <span style='color:#111;'> 88B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

【只为小站】的资源来自网友分享,仅供学习研究,请务必在下载后24小时内给予删除,不得用于其他任何用途,否则后果自负。基于互联网的特殊性,【只为小站】 无法对用户传输的作品、信息、内容的权属或合法性、合规性、真实性、科学性、完整权、有效性等进行实质审查;无论 【只为小站】 经营者是否已进行审查,用户均应自行承担因其传输的作品、信息、内容而可能或已经产生的侵权或权属纠纷等法律责任。
本站所有资源不代表本站的观点或立场,基于网友分享,根据中国法律《信息网络传播权保护条例》第二十二条之规定,若资源存在侵权或相关问题请联系本站客服人员,zhiweidada#qq.com,请把#换成@,本站将给予最大的支持与配合,做到及时反馈和处理。关于更多版权及免责申明参见 版权及免责申明