compiler.java
来自「编译原理的课程设计」· Java 代码 · 共 47 行
JAVA
47 行
package source;import java.util.Queue;import java.util.Iterator;import java.util.Collection;//翻译类class Compiler { public static int line = 0; //语法制导翻译 public static void main(String[] args) { LexicalAnalysis words = new LexicalAnalysis(); GrammarAnalysis grmr = new GrammarAnalysis(); String exp = ""; Queue<Word> optr; int status = 1; while(((exp = Input.newLine()) != null) && (status == 1)) { //词法分析 optr = words.lexical_analysis(exp); //语法分析 status = grmr.grammar_analysis(optr); } Input.close(); if(status == -1) System.out.println("语法错误在第[ " + Input.line + " ]行!"); else if(status == 1) System.out.println("不全的条件语句!"); else { Word wrd = grmr.opStack.pop(); wrd = grmr.opStack.pop(); if(wrd.Code == 0) { wrd = grmr.opStack.pop(); if(wrd.Code == 27) System.out.println("正确,编译完毕!"); } else { System.out.println("检查到未知错误!"); } } }}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?