编译原理
文章平均质量分 55
Gogo-2020
这个作者很懒,什么都没留下…
展开
-
编译原理—小型(简化)高级语言分析器前端(Java)
实现一个一遍扫描的编译前端,将简化高级语言的部分语法成分(含赋值语句、分支语句、循环语句等)翻译成四元式(或三地址代码),还要求有合理的语法出错报错和错误恢复功能。测试样例begin while a<b do if c<5 begin while x>y begin原创 2021-01-30 14:24:21 · 711 阅读 · 0 评论 -
编译原理—语义分析(Java)
递归下降语法制导翻译实现含多条简单赋值语句的简化语言的语义分析和中间代码生成。测试样例begina:=2; b:=4;c:=c-1;area:=3.14aa;s:=23.1416r(h+r);end#*词法分析public class analyzer { public static List<String> llist=new ArrayList<>(); static Map<Integer,Integer> map=new原创 2021-01-30 14:17:23 · 8782 阅读 · 4 评论 -
编译原理—语法分析器(Java)
<语句块> ::= begin<语句串> end<语句串> ::= <语句>{;<语句>}<语句> ::= <赋值语句> | <循环语句> | <条件语句><关系运算符> ::= < | <= | >= | > | == | !=<赋值语句> ::= ID:=<表达式><表达式> ::= <项>{+<项原创 2021-01-30 13:55:26 · 1602 阅读 · 0 评论 -
编译原理—词法分析器(Java)
1.当运行程序时,程序会读取项目下的program.txt文件2. 程序将会逐行读取program.txt中的源程序,进行词法分析,并将分析的结果输出。3. 如果发现错误,程序将会中止读取文件进行分析,并输出错误提示public class analyzer { final static String ID = "\\p{Alpha}(\\p{Alpha}|\\d)*"; /** 整形常数 NUM >> 正则表达式*/ final static String N原创 2021-01-30 13:44:12 · 560 阅读 · 0 评论