📄 grammarparser.java
字号:
//----------------------------------------------------// The following code was generated by CUP v0.10k TUM Edition 20050516// Mon Jun 04 16:31:27 CST 2007//----------------------------------------------------package edu.ustc.cs.minijool.lab3parser;import java.util.*;import java_cup.runtime.*;import edu.ustc.cs.minijool.parser.ast.*;/** CUP v0.10k TUM Edition 20050516 generated parser. * @version Mon Jun 04 16:31:27 CST 2007 */public class GrammarParser extends java_cup.runtime.lr_parser { /** Default constructor. */ public GrammarParser() {super();} /** Constructor which sets the default scanner. */ public GrammarParser(java_cup.runtime.Scanner s) {super(s);} /** Production table. */ protected static final short _production_table[][] = unpackFromStrings(new String[] { "\000\031\000\002\002\004\000\002\003\005\000\002\004" + "\002\000\002\004\004\000\002\005\002\000\002\005\004" + "\000\002\006\002\000\002\006\003\000\002\007\003\000" + "\002\007\004\000\002\010\006\000\002\011\003\000\002" + "\012\003\000\002\012\005\000\002\013\003\000\002\013" + "\004\000\002\014\003\000\002\014\003\000\002\014\003" + "\000\002\015\003\000\002\015\004\000\002\016\003\000" + "\002\016\004\000\002\017\003\000\002\017\004" }); /** Access to production table. */ public short[][] production_table() {return _production_table;} /** Parse-action table. */ protected static final short[][] _action_table = unpackFromStrings(new String[] { "\000\040\000\012\002\uffff\004\006\005\uffff\013\uffff\001" + "\002\000\004\002\042\001\002\000\010\002\ufffd\005\010" + "\013\ufffd\001\002\000\004\014\007\001\002\000\010\002" + "\ufffe\005\ufffe\013\ufffe\001\002\000\004\014\041\001\002" + "\000\006\002\ufffb\013\013\001\002\000\006\002\ufffa\013" + "\013\001\002\000\004\010\ufff6\001\002\000\004\010\017" + "\001\002\000\004\002\000\001\002\000\006\002\ufff9\013" + "\ufff9\001\002\000\010\006\020\012\024\013\022\001\002" + "\000\016\006\uffea\007\uffea\011\uffea\012\uffea\013\uffea\014" + "\037\001\002\000\006\007\035\011\034\001\002\000\016" + "\006\uffec\007\uffec\011\uffec\012\uffec\013\uffec\014\033\001" + "\002\000\014\006\020\007\ufff5\011\ufff5\012\024\013\022" + "\001\002\000\016\006\uffee\007\uffee\011\uffee\012\uffee\013" + "\uffee\014\031\001\002\000\014\006\ufff0\007\ufff0\011\ufff0" + "\012\ufff0\013\ufff0\001\002\000\014\006\uffef\007\uffef\011" + "\uffef\012\uffef\013\uffef\001\002\000\014\006\ufff1\007\ufff1" + "\011\ufff1\012\ufff1\013\ufff1\001\002\000\014\006\ufff3\007" + "\ufff3\011\ufff3\012\ufff3\013\ufff3\001\002\000\014\006\uffed" + "\007\uffed\011\uffed\012\uffed\013\uffed\001\002\000\014\006" + "\ufff2\007\ufff2\011\ufff2\012\ufff2\013\ufff2\001\002\000\014" + "\006\uffeb\007\uffeb\011\uffeb\012\uffeb\013\uffeb\001\002\000" + "\006\002\ufff7\013\ufff7\001\002\000\010\006\020\012\024" + "\013\022\001\002\000\014\006\020\007\ufff4\011\ufff4\012" + "\024\013\022\001\002\000\014\006\uffe9\007\uffe9\011\uffe9" + "\012\uffe9\013\uffe9\001\002\000\006\002\ufff8\013\ufff8\001" + "\002\000\006\002\ufffc\013\ufffc\001\002\000\004\002\001" + "\001\002" }); /** Access to parse-action table. */ public short[][] action_table() {return _action_table;} /** <code>reduce_goto</code> table. */ protected static final short[][] _reduce_table = unpackFromStrings(new String[] { "\000\040\000\006\003\003\004\004\001\001\000\002\001" + "\001\000\004\005\010\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\012\006\014\007\011\010" + "\015\011\013\001\001\000\006\010\037\011\013\001\001" + "\000\002\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\016\012\020\013\022\014\027\015\026" + "\016\024\017\025\001\001\000\002\001\001\000\002\001" + "\001\000\002\001\001\000\012\014\031\015\026\016\024" + "\017\025\001\001\000\002\001\001\000\002\001\001\000" + "\002\001\001\000\002\001\001\000\002\001\001\000\002" + "\001\001\000\002\001\001\000\002\001\001\000\002\001" + "\001\000\014\013\035\014\027\015\026\016\024\017\025" + "\001\001\000\012\014\031\015\026\016\024\017\025\001" + "\001\000\002\001\001\000\002\001\001\000\002\001\001" + "\000\002\001\001" }); /** Access to <code>reduce_goto</code> table. */ public short[][] reduce_table() {return _reduce_table;} /** Instance of action encapsulation class. */ protected CUP$GrammarParser$actions action_obj; /** Action encapsulation object initializer. */ protected void init_actions() { action_obj = new CUP$GrammarParser$actions(this); } /** Invoke a user supplied parse action. */ public java_cup.runtime.Symbol do_action( int act_num, java_cup.runtime.lr_parser parser, java.util.Stack stack, int top) throws java.lang.Exception { /* call code in generated class */ return action_obj.CUP$GrammarParser$do_action(act_num, parser, stack, top); } /** Indicates start state. */ public int start_state() {return 0;} /** Indicates start production. */ public int start_production() {return 0;} /** <code>EOF</code> Symbol index. */ public int EOF_sym() {return 0;} /** <code>error</code> Symbol index. */ public int error_sym() {return 1;}
public static Spec parse(String file) {
Scanner scanner = null;
GrammarParser parser = null;
try {
scanner = new Scanner( new java.io.FileReader(file) );
parser = new GrammarParser(scanner);
parser.parse();
}
catch (java.io.FileNotFoundException e) {
System.out.println("File not found : \""+file+"\"");
}
catch (java.io.IOException e) {
System.out.println("IO error scanning file \""+file+"\"");
System.out.println(e);
}
catch (Exception e) {
System.out.println("Unexpected exception:");
e.printStackTrace();
}
return parser.action_obj.getSpec();
}
}/** Cup generated class to encapsulate user supplied action code.*/class CUP$GrammarParser$actions {
private boolean success = false;
private Spec root = null;
public Spec getSpec() {
if (success) {
return root;
}
return null;
}
private final GrammarParser parser; /** Constructor */ CUP$GrammarParser$actions(GrammarParser parser) { this.parser = parser; } /** Method with the actual generated action code. */ public final java_cup.runtime.Symbol CUP$GrammarParser$do_action( int CUP$GrammarParser$act_num, java_cup.runtime.lr_parser CUP$GrammarParser$parser, java.util.Stack CUP$GrammarParser$stack, int CUP$GrammarParser$top) throws java.lang.Exception {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -