mjavac:BTH的DV1585课程的MiniJava编译器-源码

上传者: 42133415 | 上传时间: 2021-06-30 11:25:12 | 文件大小: 114KB | 文件类型: ZIP
C++
| mjavac MiniJava的解析器和编译器,带有扩展 快速开始 这个项目包含的模块一起构成了mjavac-一个MiniJava编译器(带有扩展名)。 每个部分都是独立的并且可重复使用。 例如,解析器可以用作构建语法突出显示器,解释器等的库。 mjavac使用解析器库为源代码构建AST。 顶级项目将构建完整的编译器。 make build ./build/mjavac test/examples/factorial.java 注意:尽管每个项目都可以单独构建和使用,但可能需要其他配置。 每个项目中的编译器标志仅代表最低要求,应该进行调整,例如由主项目的Makefile完成。 要以最简单的形式编译项目,只需确保$CXXFLAGS至少包含-std=c++17如下所示: CXXFLAGS=-std=c++17 make -C ... 通过像这样设置DEBUG环境变量,可以在调试模式

文件下载

资源详情

[{"title":"( 72 个子文件 114KB ) mjavac:BTH的DV1585课程的MiniJava编译器-源码","children":[{"title":"mjavac-master","children":[{"title":".github","children":[{"title":"banner.png <span style='color:#111;'> 65.94KB </span>","children":null,"spread":false}],"spread":true},{"title":"test","children":[{"title":"correct","children":[{"title":"multiple-empty-classes.java <span style='color:#111;'> 228B </span>","children":null,"spread":false},{"title":"array.java <span style='color:#111;'> 246B </span>","children":null,"spread":false},{"title":"adder-multiple-classes.java <span style='color:#111;'> 308B </span>","children":null,"spread":false},{"title":"empty-main-class.java <span style='color:#111;'> 192B </span>","children":null,"spread":false},{"title":"empty.java <span style='color:#111;'> 124B </span>","children":null,"spread":false},{"title":"math.java <span style='color:#111;'> 469B </span>","children":null,"spread":false},{"title":"main-class-with-fields.java <span style='color:#111;'> 205B </span>","children":null,"spread":false},{"title":"loops.java <span style='color:#111;'> 301B </span>","children":null,"spread":false},{"title":"adder.java <span style='color:#111;'> 265B </span>","children":null,"spread":false}],"spread":true},{"title":"test.sh <span style='color:#111;'> 3.16KB </span>","children":null,"spread":false},{"title":"examples","children":[{"title":"treevisitor.java <span style='color:#111;'> 6.97KB </span>","children":null,"spread":false},{"title":"factorial-single-class.java <span style='color:#111;'> 263B </span>","children":null,"spread":false},{"title":"factorial.java <span style='color:#111;'> 293B </span>","children":null,"spread":false},{"title":"linkedlist.java <span style='color:#111;'> 5.34KB </span>","children":null,"spread":false},{"title":"binarysearch.java <span style='color:#111;'> 2.97KB </span>","children":null,"spread":false},{"title":"linearsearch.java <span style='color:#111;'> 1.67KB </span>","children":null,"spread":false},{"title":"quicksort.java <span style='color:#111;'> 1.96KB </span>","children":null,"spread":false},{"title":"binarytree.java <span style='color:#111;'> 7.08KB </span>","children":null,"spread":false},{"title":"bubblesort.java <span style='color:#111;'> 1.54KB </span>","children":null,"spread":false}],"spread":true},{"title":"incorrect","children":[{"title":"incorrect-class-name.java <span style='color:#111;'> 215B </span>","children":null,"spread":false},{"title":"grammatically-bad.java <span style='color:#111;'> 346B </span>","children":null,"spread":false},{"title":"semanticly-bad.java <span style='color:#111;'> 1.66KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"ci","children":[{"title":"lint.sh <span style='color:#111;'> 510B </span>","children":null,"spread":false}],"spread":true},{"title":".clang-format <span style='color:#111;'> 154B </span>","children":null,"spread":false},{"title":"mjavac","children":[{"title":"symbol-table.cc <span style='color:#111;'> 3.00KB </span>","children":null,"spread":false},{"title":"symbol-generator.cc <span style='color:#111;'> 6.21KB </span>","children":null,"spread":false},{"title":"main.hpp <span style='color:#111;'> 38B </span>","children":null,"spread":false},{"title":"main.cc <span style='color:#111;'> 4.55KB </span>","children":null,"spread":false},{"title":"symbol-generator.hpp <span style='color:#111;'> 892B </span>","children":null,"spread":false},{"title":"symbol-table.hpp <span style='color:#111;'> 2.33KB </span>","children":null,"spread":false},{"title":"debug.hpp <span style='color:#111;'> 153B </span>","children":null,"spread":false},{"title":"semantics-analyzer.cc <span style='color:#111;'> 7.81KB </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 1013B </span>","children":null,"spread":false},{"title":"semantics-analyzer.hpp <span style='color:#111;'> 744B </span>","children":null,"spread":false}],"spread":true},{"title":".gitignore <span style='color:#111;'> 60B </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 2.09KB </span>","children":null,"spread":false},{"title":"README.md <span style='color:#111;'> 6.13KB </span>","children":null,"spread":false},{"title":"parser","children":[{"title":"parser.yy <span style='color:#111;'> 8.81KB </span>","children":null,"spread":false},{"title":"parser.hpp <span style='color:#111;'> 76B </span>","children":null,"spread":false},{"title":"nodes","children":[{"title":"nodes.hpp <span style='color:#111;'> 393B </span>","children":null,"spread":false},{"title":"unary-operation-node.cc <span style='color:#111;'> 541B </span>","children":null,"spread":false},{"title":"variable-node.hpp <span style='color:#111;'> 535B </span>","children":null,"spread":false},{"title":"loop-node.cc <span style='color:#111;'> 632B </span>","children":null,"spread":false},{"title":"class-declaration-node.hpp <span style='color:#111;'> 782B </span>","children":null,"spread":false},{"title":"method-declaration-node.hpp <span style='color:#111;'> 586B </span>","children":null,"spread":false},{"title":"binary-operation-node.cc <span style='color:#111;'> 713B </span>","children":null,"spread":false},{"title":"operator.hpp <span style='color:#111;'> 453B </span>","children":null,"spread":false},{"title":"node.hpp <span style='color:#111;'> 440B </span>","children":null,"spread":false},{"title":"binary-operation-node.hpp <span style='color:#111;'> 528B </span>","children":null,"spread":false},{"title":"program-node.cc <span style='color:#111;'> 525B </span>","children":null,"spread":false},{"title":"variable-node.cc <span style='color:#111;'> 914B </span>","children":null,"spread":false},{"title":"loop-node.hpp <span style='color:#111;'> 368B </span>","children":null,"spread":false},{"title":"program-node.hpp <span style='color:#111;'> 459B </span>","children":null,"spread":false},{"title":"method-call-node.cc <span style='color:#111;'> 724B </span>","children":null,"spread":false},{"title":"operator.cc <span style='color:#111;'> 1018B </span>","children":null,"spread":false},{"title":"method-declaration-node.cc <span style='color:#111;'> 894B </span>","children":null,"spread":false},{"title":"conditional-node.cc <span style='color:#111;'> 1009B </span>","children":null,"spread":false},{"title":"conditional-node.hpp <span style='color:#111;'> 461B </span>","children":null,"spread":false},{"title":"value-node.hpp <span style='color:#111;'> 663B </span>","children":null,"spread":false},{"title":"class-declaration-node.cc <span style='color:#111;'> 1.60KB </span>","children":null,"spread":false},{"title":"return-node.cc <span style='color:#111;'> 501B </span>","children":null,"spread":false},{"title":"value-node.cc <span style='color:#111;'> 1.68KB </span>","children":null,"spread":false},{"title":"return-node.hpp <span style='color:#111;'> 345B </span>","children":null,"spread":false},{"title":"method-call-node.hpp <span style='color:#111;'> 389B </span>","children":null,"spread":false},{"title":"unary-operation-node.hpp <span style='color:#111;'> 500B </span>","children":null,"spread":false},{"title":"node.cc <span style='color:#111;'> 181B </span>","children":null,"spread":false}],"spread":false},{"title":"scanner.hpp <span style='color:#111;'> 1.62KB </span>","children":null,"spread":false},{"title":"Makefile <span style='color:#111;'> 2.35KB </span>","children":null,"spread":false},{"title":"source.cc <span style='color:#111;'> 3.00KB </span>","children":null,"spread":false},{"title":"source.hpp <span style='color:#111;'> 955B </span>","children":null,"spread":false},{"title":"lexer.l <span style='color:#111;'> 2.12KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true}]

评论信息

免责申明

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