MiniJava 用Java编写的MiniJava编译器
第1部分:MiniJava类型检查器程序
准备JavaCC和JTB
将minijava.jj给JTB,JTB将生成jtb.out.jj
将jtb.out.jj给JavaCC,JavaCC会产生一些java文件,唯一有用的Java文件是MiniJavaParser.java
创建主文件Typecheck.java。
在Typecheck.java中,Node root = new MinijavaParser(System.in).Goal()应该从标准输入构建一个语法树。
剩下的任务是实现访问者来执行类型检查。
根将接受两个不同的访问者并完成类型检查。
根据这本书,类型检查过程包括两个阶段:
-
建立符号表
-
类型检查语句和表达式
因此,至少需要两名访问者:一个将建立符号表,另一个将在符号表的帮助下进行类型检查。
下载地址
用户评论