minijava-parser:在ANTLR的帮助下进行AST构造

上传者: 42100188 | 上传时间: 2023-01-05 12:43:26 | 文件大小: 59KB | 文件类型: ZIP
迷你java解析器 AST构造,符号表构造和使用antlr进行的minijava的类型检查。 用于生成源代码的antlr语法位于src / main / antlr4 / minijava.g4中。AST由类ASTGenerator构建,该类继承自minijavaBaseListener。 它的源文件是src / main / java / minijava / ASTGenerator.java 符号表由BuildSymbolTableVisitor类构建,该类遍历AST来构建其符号表。 它的源文件是src / main / java / br / ufpe / cin / if688 / minijava / visitor / BuildSymbolTableVisitor.java。类型检查由类TypeCheckVisitor执行,该类使用符号表并遍历AST以查找类型错误。 我

文件下载

资源详情

[{"title":"( 78 个子文件 59KB ) minijava-parser:在ANTLR的帮助下进行AST构造","children":[{"title":"minijava-parser-master","children":[{"title":".project <span style='color:#111;'> 726B </span>","children":null,"spread":false},{"title":"src","children":[{"title":"test","children":[{"title":"resources","children":[{"title":"test.txt <span style='color:#111;'> 185B </span>","children":null,"spread":false},{"title":"arithmetics.txt <span style='color:#111;'> 253B </span>","children":null,"spread":false},{"title":"array.txt <span style='color:#111;'> 430B </span>","children":null,"spread":false},{"title":"type-errors","children":[{"title":"bool-int.txt <span style='color:#111;'> 323B </span>","children":null,"spread":false},{"title":"outofscope.txt <span style='color:#111;'> 165B </span>","children":null,"spread":false},{"title":"calls.txt <span style='color:#111;'> 578B </span>","children":null,"spread":false},{"title":"arrays.txt <span style='color:#111;'> 309B </span>","children":null,"spread":false},{"title":"branch.txt <span style='color:#111;'> 164B </span>","children":null,"spread":false},{"title":"inheritance.txt <span style='color:#111;'> 250B </span>","children":null,"spread":false},{"title":"dupes.txt <span style='color:#111;'> 331B </span>","children":null,"spread":false}],"spread":true},{"title":"comments.txt <span style='color:#111;'> 471B </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"antlr","children":[{"title":"TestClass.java <span style='color:#111;'> 1.44KB </span>","children":null,"spread":false}],"spread":true}],"spread":true}],"spread":true},{"title":"main","children":[{"title":"antlr4","children":[{"title":"minijava.g4 <span style='color:#111;'> 2.78KB </span>","children":null,"spread":false}],"spread":true},{"title":"java","children":[{"title":"minijava","children":[{"title":"ASTGenerator.java <span style='color:#111;'> 7.88KB </span>","children":null,"spread":false},{"title":"generated","children":[{"title":"minijavaListener.java <span style='color:#111;'> 19.02KB </span>","children":null,"spread":false},{"title":"minijavaBaseListener.java <span style='color:#111;'> 16.42KB </span>","children":null,"spread":false},{"title":"minijavaLexer.java <span style='color:#111;'> 9.04KB </span>","children":null,"spread":false},{"title":"minijava.tokens <span style='color:#111;'> 689B </span>","children":null,"spread":false},{"title":"minijavaLexer.tokens <span style='color:#111;'> 689B </span>","children":null,"spread":false},{"title":"minijavaParser.java <span style='color:#111;'> 61.45KB </span>","children":null,"spread":false}],"spread":true}],"spread":true},{"title":"br","children":[{"title":"ufpe","children":[{"title":"cin","children":[{"title":"if688","children":[{"title":"minijava","children":[{"title":"symboltable","children":[{"title":"SymbolTable.java <span style='color:#111;'> 3.16KB </span>","children":null,"spread":false},{"title":"Method.java <span style='color:#111;'> 1.61KB </span>","children":null,"spread":false},{"title":"Variable.java <span style='color:#111;'> 318B </span>","children":null,"spread":false},{"title":"Class.java <span style='color:#111;'> 1.48KB </span>","children":null,"spread":false}],"spread":true},{"title":"ast","children":[{"title":"Times.java <span style='color:#111;'> 300B </span>","children":null,"spread":false},{"title":"IdentifierType.java <span style='color:#111;'> 296B </span>","children":null,"spread":false},{"title":"VarDecl.java <span style='color:#111;'> 301B </span>","children":null,"spread":false},{"title":"MethodDecl.java <span style='color:#111;'> 504B </span>","children":null,"spread":false},{"title":"Formal.java <span style='color:#111;'> 299B </span>","children":null,"spread":false},{"title":"NewObject.java <span style='color:#111;'> 293B </span>","children":null,"spread":false},{"title":"IntArrayType.java <span style='color:#111;'> 225B </span>","children":null,"spread":false},{"title":"NewArray.java <span style='color:#111;'> 277B </span>","children":null,"spread":false},{"title":"And.java <span style='color:#111;'> 296B </span>","children":null,"spread":false},{"title":"This.java <span style='color:#111;'> 216B </span>","children":null,"spread":false},{"title":"Exp.java <span style='color:#111;'> 176B </span>","children":null,"spread":false},{"title":"BooleanType.java <span style='color:#111;'> 223B </span>","children":null,"spread":false},{"title":"Minus.java <span style='color:#111;'> 300B </span>","children":null,"spread":false},{"title":"Assign.java <span style='color:#111;'> 326B </span>","children":null,"spread":false},{"title":"Identifier.java <span style='color:#111;'> 308B </span>","children":null,"spread":false},{"title":"False.java <span style='color:#111;'> 217B </span>","children":null,"spread":false},{"title":"Statement.java <span style='color:#111;'> 182B </span>","children":null,"spread":false},{"title":"ArrayAssign.java <span style='color:#111;'> 366B </span>","children":null,"spread":false},{"title":"MethodDeclList.java <span style='color:#111;'> 398B </span>","children":null,"spread":false},{"title":"ClassDeclExtends.java <span style='color:#111;'> 475B </span>","children":null,"spread":false},{"title":"MainClass.java <span style='color:#111;'> 351B </span>","children":null,"spread":false},{"title":"LessThan.java <span style='color:#111;'> 306B </span>","children":null,"spread":false},{"title":"ClassDeclSimple.java <span style='color:#111;'> 423B </span>","children":null,"spread":false},{"title":"Type.java <span style='color:#111;'> 177B </span>","children":null,"spread":false},{"title":"ClassDecl.java <span style='color:#111;'> 182B </span>","children":null,"spread":false},{"title":"Plus.java <span style='color:#111;'> 298B </span>","children":null,"spread":false},{"title":"StatementList.java <span style='color:#111;'> 392B </span>","children":null,"spread":false},{"title":"IdentifierExp.java <span style='color:#111;'> 293B </span>","children":null,"spread":false},{"title":"ExpList.java <span style='color:#111;'> 356B </span>","children":null,"spread":false},{"title":"Program.java <span style='color:#111;'> 321B </span>","children":null,"spread":false},{"title":"ClassDeclList.java <span style='color:#111;'> 392B </span>","children":null,"spread":false},{"title":"While.java <span style='color:#111;'> 322B </span>","children":null,"spread":false},{"title":"VarDeclList.java <span style='color:#111;'> 380B </span>","children":null,"spread":false},{"title":"True.java <span style='color:#111;'> 216B </span>","children":null,"spread":false},{"title":"If.java <span style='color:#111;'> 351B </span>","children":null,"spread":false},{"title":"FormalList.java <span style='color:#111;'> 374B </span>","children":null,"spread":false},{"title":"IntegerLiteral.java <span style='color:#111;'> 289B </span>","children":null,"spread":false},{"title":"Call.java <span style='color:#111;'> 361B </span>","children":null,"spread":false},{"title":"IntegerType.java <span style='color:#111;'> 224B </span>","children":null,"spread":false},{"title":"Print.java <span style='color:#111;'> 277B </span>","children":null,"spread":false},{"title":"ArrayLength.java <span style='color:#111;'> 283B </span>","children":null,"spread":false},{"title":"Not.java <span style='color:#111;'> 267B </span>","children":null,"spread":false},{"title":"Block.java <span style='color:#111;'> 301B </span>","children":null,"spread":false},{"title":"ArrayLookup.java <span style='color:#111;'> 312B </span>","children":null,"spread":false}],"spread":false},{"title":"visitor","children":[{"title":"BuildSymbolTableVisitor.java <span style='color:#111;'> 7.25KB </span>","children":null,"spread":false},{"title":"IVisitor.java <span style='color:#111;'> 2.67KB </span>","children":null,"spread":false},{"title":"TypeCheckVisitor.java <span style='color:#111;'> 10.01KB </span>","children":null,"spread":false},{"title":"PrettyPrintVisitor.java <span style='color:#111;'> 8.55KB </span>","children":null,"spread":false}],"spread":false},{"title":"main","children":[{"title":"Main.java <span style='color:#111;'> 3.21KB </span>","children":null,"spread":false}],"spread":false}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true}],"spread":true},{"title":"README.md <span style='color:#111;'> 1.53KB </span>","children":null,"spread":false},{"title":"pom.xml <span style='color:#111;'> 2.03KB </span>","children":null,"spread":false},{"title":".classpath <span style='color:#111;'> 1.17KB </span>","children":null,"spread":false},{"title":".gitignore <span style='color:#111;'> 336B </span>","children":null,"spread":false}],"spread":true}],"spread":true}]

评论信息

免责申明

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