parse.java

来自「本设计Tiger语言为源语言」· Java 代码 · 共 42 行

JAVA
42
字号
package Parse;import Absyn.Print;public class Parse {	public ErrorMsg.ErrorMsg errorMsg;	public Absyn.Exp absyn;	public Semant.Semant semant;	public Parse(String filename) {		errorMsg = new ErrorMsg.ErrorMsg(filename);		{    		java.io.InputStream inp;    		try {    			inp=new java.io.FileInputStream(filename);	    	  }catch (java.io.FileNotFoundException e) {	    		  throw new Error("File not found: " + filename);	    	  }	    	  Grm parser = new Grm(new Yylex(inp,errorMsg), errorMsg);	    	  semant=new Semant.Semant(errorMsg);	    	  /* open input files, etc. here */		    	  try {	    		  absyn=(Absyn.Exp)parser./*debug_*/parse().value;	    		  Print ap = new Print(System.out);	    		  ap.prExp(absyn, 1);	    		  System.out.println();	    		  semant.transExp(absyn);	    	  } catch (Throwable e) {	    		  e.printStackTrace();	    		  throw new Error(e.toString());	    	  } 	    	  finally {	    		  try {inp.close();} catch (java.io.IOException e) {}	    	  }	    	absyn=parser.parseResult;     	}	}}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?