⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 parser.java

📁 我开发的一个用java语言实现的编译器,内含词法分析器,语法分析器,而且可以实现中间代码生成.用到了SLR算法和LR(1)算法
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
//----------------------------------------------------// The following code was generated by CUP v0.10k// Sun Jul 25 13:35:26 EDT 1999//----------------------------------------------------package java_cup;import java_cup.runtime.*;import java.util.Hashtable;/** CUP v0.10k generated parser.  * @version Sun Jul 25 13:35:26 EDT 1999  */public class parser extends java_cup.runtime.lr_parser {  /** Default constructor. */  public parser() {super();}  /** Constructor which sets the default scanner. */  public parser(java_cup.runtime.Scanner s) {super(s);}  /** Production table. */  protected static final short _production_table[][] =     unpackFromStrings(new String[] {    "\000\153\000\002\002\004\000\002\055\002\000\002\003" +    "\012\000\002\003\007\000\002\056\002\000\002\004\006" +    "\000\002\004\003\000\002\005\004\000\002\005\003\000" +    "\002\057\002\000\002\020\006\000\002\010\003\000\002" +    "\010\003\000\002\010\003\000\002\010\003\000\002\007" +    "\002\000\002\007\004\000\002\006\006\000\002\013\006" +    "\000\002\022\006\000\002\023\006\000\002\014\004\000" +    "\002\014\003\000\002\024\005\000\002\024\004\000\002" +    "\024\005\000\002\024\004\000\002\060\002\000\002\024" +    "\006\000\002\061\002\000\002\024\006\000\002\062\002" +    "\000\002\044\005\000\002\063\002\000\002\045\005\000" +    "\002\026\005\000\002\026\003\000\002\027\005\000\002" +    "\027\003\000\002\040\003\000\002\040\003\000\002\043" +    "\004\000\002\043\003\000\002\064\002\000\002\041\007" +    "\000\002\065\002\000\002\041\007\000\002\066\002\000" +    "\002\041\007\000\002\042\005\000\002\042\003\000\002" +    "\052\003\000\002\053\003\000\002\067\002\000\002\015" +    "\007\000\002\015\003\000\002\016\004\000\002\016\003" +    "\000\002\070\002\000\002\071\002\000\002\030\010\000" +    "\002\072\002\000\002\030\005\000\002\035\005\000\002" +    "\035\003\000\002\036\005\000\002\036\003\000\002\031" +    "\004\000\002\031\003\000\002\032\004\000\002\032\003" +    "\000\002\051\004\000\002\051\003\000\002\017\005\000" +    "\002\017\003\000\002\021\005\000\002\021\003\000\002" +    "\025\003\000\002\025\005\000\002\033\003\000\002\034" +    "\003\000\002\046\003\000\002\046\003\000\002\047\003" +    "\000\002\047\003\000\002\050\003\000\002\054\003\000" +    "\002\054\003\000\002\054\003\000\002\054\003\000\002" +    "\054\003\000\002\054\003\000\002\054\003\000\002\054" +    "\003\000\002\054\003\000\002\054\003\000\002\054\003" +    "\000\002\054\003\000\002\054\003\000\002\054\003\000" +    "\002\054\003\000\002\054\003\000\002\012\004\000\002" +    "\012\003\000\002\011\002\000\002\011\003\000\002\037" +    "\002" });  /** Access to production table. */  public short[][] production_table() {return _production_table;}  /** Parse-action table. */  protected static final short[][] _action_table =     unpackFromStrings(new String[] {    "\000\247\000\026\003\006\004\000\005\000\007\000\010" +    "\000\011\000\012\000\013\000\014\000\035\000\001\002" +    "\000\004\002\251\001\002\000\024\004\200\005\uff97\007" +    "\uff97\010\uff97\011\uff97\012\uff97\013\uff97\014\uff97\035\uff97" +    "\001\002\000\010\011\007\012\012\035\014\001\002\000" +    "\042\003\163\006\026\007\027\010\040\011\036\012\022" +    "\013\042\014\030\015\017\016\015\026\033\027\023\030" +    "\035\031\041\035\025\036\160\001\002\000\020\003\uffeb" +    "\011\uffeb\012\uffeb\016\uffeb\026\uffeb\035\uffeb\036\uffeb\001" +    "\002\000\020\003\uff97\011\007\012\012\016\uff97\026\065" +    "\035\014\036\uff97\001\002\000\004\011\061\001\002\000" +    "\042\003\034\006\026\007\027\010\040\011\036\012\022" +    "\013\042\014\030\015\017\016\015\026\033\027\023\030" +    "\035\031\041\035\025\036\016\001\002\000\042\003\uff9a" +    "\006\uff9a\007\uff9a\010\uff9a\011\uff9a\012\uff9a\013\uff9a\014" +    "\uff9a\015\uff9a\016\uff9a\026\uff9a\027\uff9a\030\uff9a\031\uff9a" +    "\035\uff9a\036\uff9a\001\002\000\022\003\uffa1\017\uffa1\022" +    "\uffa1\025\uffa1\032\uffa1\033\uffa1\036\uffa1\037\uffa1\001\002" +    "\000\014\017\uffb1\020\uffb1\022\uffab\033\uffab\036\uffab\001" +    "\002\000\022\003\uffa2\017\uffa2\022\uffa2\025\uffa2\032\uffa2" +    "\033\uffa2\036\uffa2\037\uffa2\001\002\000\006\017\uffe0\020" +    "\055\001\002\000\010\022\051\033\uffb4\036\uffb4\001\002" +    "\000\022\003\uffa6\017\uffa6\022\uffa6\025\uffa6\032\uffa6\033" +    "\uffa6\036\uffa6\037\uffa6\001\002\000\022\003\uff9f\017\uff9f" +    "\022\uff9f\025\uff9f\032\uff9f\033\uff9f\036\uff9f\037\uff9f\001" +    "\002\000\006\033\047\036\045\001\002\000\022\003\uffa5" +    "\017\uffa5\022\uffa5\025\uffa5\032\uffa5\033\uffa5\036\uffa5\037" +    "\uffa5\001\002\000\022\003\uffaa\017\uffaa\022\uffaa\025\uffaa" +    "\032\uffaa\033\uffaa\036\uffaa\037\uffaa\001\002\000\022\003" +    "\uffa9\017\uffa9\022\uffa9\025\uffa9\032\uffa9\033\uffa9\036\uffa9" +    "\037\uffa9\001\002\000\022\003\uffa3\017\uffa3\022\uffa3\025" +    "\uffa3\032\uffa3\033\uffa3\036\uffa3\037\uffa3\001\002\000\012" +    "\017\uffb7\022\uffb7\033\uffb7\036\uffb7\001\002\000\020\003" +    "\uffe7\011\uffe7\012\uffe7\016\uffe7\026\uffe7\035\uffe7\036\uffe7" +    "\001\002\000\022\003\uffa0\017\uffa0\022\uffa0\025\uffa0\032" +    "\uffa0\033\uffa0\036\uffa0\037\uffa0\001\002\000\012\017\uffe4" +    "\022\uff9c\033\uff9c\036\uff9c\001\002\000\022\003\uff9e\017" +    "\uff9e\022\uff9e\025\uff9e\032\uff9e\033\uff9e\036\uff9e\037\uff9e" +    "\001\002\000\022\003\uffa7\017\uffa7\022\uffa7\025\uffa7\032" +    "\uffa7\033\uffa7\036\uffa7\037\uffa7\001\002\000\006\017\uffdb" +    "\020\uffdb\001\002\000\022\003\uffa8\017\uffa8\022\uffa8\025" +    "\uffa8\032\uffa8\033\uffa8\036\uffa8\037\uffa8\001\002\000\022" +    "\003\uff9d\017\uff9d\022\uff9d\025\uff9d\032\uff9d\033\uff9d\036" +    "\uff9d\037\uff9d\001\002\000\022\003\uffa4\017\uffa4\022\uffa4" +    "\025\uffa4\032\uffa4\033\uffa4\036\uffa4\037\uffa4\001\002\000" +    "\004\017\044\001\002\000\020\003\uffe3\011\uffe3\012\uffe3" +    "\016\uffe3\026\uffe3\035\uffe3\036\uffe3\001\002\000\006\017" +    "\uffb1\020\uffb1\001\002\000\020\003\uffe8\011\uffe8\012\uffe8" +    "\016\uffe8\026\uffe8\035\uffe8\036\uffe8\001\002\000\004\034" +    "\050\001\002\000\006\033\uffb3\036\uffb3\001\002\000\042" +    "\003\054\006\026\007\027\010\040\011\036\012\022\013" +    "\042\014\030\015\017\016\015\026\033\027\023\030\035" +    "\031\041\035\025\036\053\001\002\000\012\017\uffb8\022" +    "\uffb8\033\uffb8\036\uffb8\001\002\000\022\003\uffab\017\uffab" +    "\022\uffab\025\uffab\032\uffab\033\uffab\036\uffab\037\uffab\001" +    "\002\000\022\003\uff9c\017\uff9c\022\uff9c\025\uff9c\032\uff9c" +    "\033\uff9c\036\uff9c\037\uff9c\001\002\000\004\036\045\001" +    "\002\000\004\017\057\001\002\000\020\003\uffdf\011\uffdf" +    "\012\uffdf\016\uffdf\026\uffdf\035\uffdf\036\uffdf\001\002\000" +    "\006\017\uffdc\020\uffdc\001\002\000\042\003\uff9b\006\uff9b" +    "\007\uff9b\010\uff9b\011\uff9b\012\uff9b\013\uff9b\014\uff9b\015" +    "\uff9b\016\uff9b\026\uff9b\027\uff9b\030\uff9b\031\uff9b\035\uff9b" +    "\036\uff9b\001\002\000\010\003\uff97\016\116\036\uff97\001" +    "\002\000\012\003\uffda\016\uffda\026\065\036\uffda\001\002" +    "\000\010\003\uffd9\016\uffd9\036\uffd9\001\002\000\010\027" +    "\071\030\072\031\070\001\002\000\020\003\uffec\011\uffec" +    "\012\uffec\016\uffec\026\uffec\035\uffec\036\uffec\001\002\000" +    "\012\003\uffd7\016\uffd7\026\uffd7\036\uffd7\001\002\000\006" +    "\003\uffd2\036\uffd2\001\002\000\006\003\uffd6\036\uffd6\001" +    "\002\000\006\003\uffd4\036\uffd4\001\002\000\006\003\077" +    "\036\074\001\002\000\022\003\uffae\017\uffae\020\uffae\023" +    "\uffae\025\uffae\032\uffae\036\uffae\037\uffae\001\002\000\010" +    "\017\uffcd\020\uffcd\025\uffcd\001\002\000\006\017\uffce\020" +    "\uffce\001\002\000\022\003\uffad\017\uffad\020\uffad\023\uffad" +    "\025\uffad\032\uffad\036\uffad\037\uffad\001\002\000\006\017" +    "\102\020\103\001\002\000\006\017\uffcf\020\uffcf\001\002" +    "\000\012\003\uffd3\016\uffd3\026\uffd3\036\uffd3\001\002\000" +    "\006\003\077\036\074\001\002\000\006\017\uffd0\020\uffd0" +    "\001\002\000\006\003\077\036\074\001\002\000\006\017" +    "\107\020\103\001\002\000\012\003\uffd5\016\uffd5\026\uffd5" +    "\036\uffd5\001\002\000\006\003\077\036\074\001\002\000" +    "\006\017\112\020\103\001\002\000\012\003\uffd1\016\uffd1" +    "\026\uffd1\036\uffd1\001\002\000\012\003\uffd8\016\uffd8\026" +    "\uffd8\036\uffd8\001\002\000\006\003\uffca\036\uffca\001\002" +    "\000\006\003\126\036\120\001\002\000\004\015\117\001" +    "\002\000\006\003\122\036\120\001\002\000\006\017\uffb0" +    "\024\uffb0\001\002\000\004\017\uffcc\001\002\000\004\017" +    "\uffaf\001\002\000\004\017\124\001\002\000\006\003\uffcb" +    "\036\uffcb\001\002\000\004\024\uffc7\001\002\000\006\017" +    "\uffc4\024\uffaf\001\002\000\010\002\ufffe\003\126\036\120" +    "\001\002\000\010\002\uffc8\003\uffc8\036\uffc8\001\002\000" +    "\010\002\uffc9\003\uffc9\036\uffc9\001\002\000\004\017\133" +    "\001\002\000\010\002\uffc3\003\uffc3\036\uffc3\001\002\000" +    "\004\024\135\001\002\000\016\003\uffc6\017\uffc6\025\uffc6" +    "\032\uffc6\036\uffc6\037\uffc6\001\002\000\016\003\uff97\017" +    "\uff97\025\uff97\032\uff97\036\uff97\037\uff97\001\002\000\016" +    "\003\uffbd\017\uffbd\025\uffbd\032\uffbd\036\uffbd\037\uffbd\001" +    "\002\000\016\003\077\017\uffbf\025\uffbf\032\147\036\074" +    "\037\146\001\002\000\006\017\uffc1\025\uffc1\001\002\000" +    "\006\017\143\025\144\001\002\000\010\002\uffc5\003\uffc5" +    "\036\uffc5\001\002\000\016\003\uff97\017\uff97\025\uff97\032" +    "\uff97\036\uff97\037\uff97\001\002\000\006\017\uffc2\025\uffc2" +    "\001\002\000\016\003\uffbb\017\uffbb\025\uffbb\032\uffbb\036" +    "\uffbb\037\uffbb\001\002\000\006\003\077\036\074\001\002" +    "\000\020\003\uff97\017\uff97\023\154\025\uff97\032\uff97\036" +    "\uff97\037\uff97\001\002\000\016\003\uffbe\017\uffbe\025\uffbe" +    "\032\uffbe\036\uffbe\037\uffbe\001\002\000\016\003\uffb9\017" +    "\uffb9\025\uffb9\032\uffb9\036\uffb9\037\uffb9\001\002\000\016" +    "\003\uffbc\017\uffbc\025\uffbc\032\uffbc\036\uffbc\037\uffbc\001" +    "\002\000\042\003\054\006\026\007\027\010\040\011\036" +    "\012\022\013\042\014\030\015\017\016\015\026\033\027" +    "\023\030\035\031\041\035\025\036\053\001\002\000\016" +    "\003\uffba\017\uffba\025\uffba\032\uffba\036\uffba\037\uffba\001" +    "\002\000\016\003\uffac\017\uffac\025\uffac\032\uffac\036\uffac" +    "\037\uffac\001\002\000\006\017\uffc0\025\uffc0\001\002\000" +    "\014\017\uffb2\020\uffb2\022\uffab\033\uffab\036\uffab\001\002" +    "\000\006\033\047\036\170\001\002\000\006\017\uffdd\020" +    "\uffdd\001\002\000\012\017\uffe6\022\uff9c\033\uff9c\036\uff9c" +    "\001\002\000\020\003\uffe9\011\uffe9\012\uffe9\016\uffe9\026" +    "\uffe9\035\uffe9\036\uffe9\001\002\000\006\017\uffe2\020\167" +    "\001\002\000\004\017\172\001\002\000\004\036\170\001" +    "\002\000\006\017\uffb2\020\uffb2\001\002\000\006\017\uffde" +    "\020\uffde\001\002\000\020\003\uffe1\011\uffe1\012\uffe1\016" +    "\uffe1\026\uffe1\035\uffe1\036\uffe1\001\002\000\004\017\174" +    "\001\002\000\020\003\uffe5\011\uffe5\012\uffe5\016\uffe5\026" +    "\uffe5\035\uffe5\036\uffe5\001\002\000\020\003\uffea\011\uffea" +    "\012\uffea\016\uffea\026\uffea\035\uffea\036\uffea\001\002\000" +    "\022\005\ufffb\007\ufffb\010\ufffb\011\ufffb\012\ufffb\013\ufffb" +    "\014\ufffb\035\ufffb\001\002\000\022\005\uff97\007\uff97\010" +    "\uff97\011\uff97\012\uff97\013\uff97\014\uff97\035\uff97\001\002" +    "\000\042\003\054\006\026\007\027\010\040\011\036\012" +    "\022\013\042\014\030\015\017\016\015\026\033\027\023" +    "\030\035\031\041\035\025\036\053\001\002\000\006\017" +    "\ufffd\022\051\001\002\000\004\017\203\001\002\000\022" +    "\005\ufffc\007\ufffc\010\ufffc\011\ufffc\012\ufffc\013\ufffc\014" +    "\ufffc\035\ufffc\001\002\000\022\005\210\007\ufff2\010\ufff2" +    "\011\ufff2\012\ufff2\013\ufff2\014\ufff2\035\ufff2\001\002\000" +    "\022\005\ufff9\007\ufff9\010\ufff9\011\ufff9\012\ufff9\013\ufff9" +    "\014\ufff9\035\ufff9\001\002\000\020\007\223\010\224\011" +    "\007\012\012\013\227\014\225\035\014\001\002\000\022" +    "\005\ufffa\007\ufffa\010\ufffa\011\ufffa\012\ufffa\013\ufffa\014" +    "\ufffa\035\ufffa\001\002\000\042\003\054\006\026\007\027" +    "\010\040\011\036\012\022\013\042\014\030\015\017\016" +    "\015\026\033\027\023\030\035\031\041\035\025\036\053" +    "\001\002\000\006\017\uffb5\022\215\001\002\000\004\017" +    "\ufff8\001\002\000\004\017\214\001\002\000\022\005\ufff7" +    "\007\ufff7\010\ufff7\011\ufff7\012\ufff7\013\ufff7\014\ufff7\035" +    "\ufff7\001\002\000\044\003\054\006\026\007\027\010\040" +    "\011\036\012\022\013\042\014\030\015\017\016\015\021" +    "\216\026\033\027\023\030\035\031\041\035\025\036\053" +    "\001\002\000\004\017\uffb6\001\002\000\020\007\ufff3\010" +    "\ufff3\011\ufff3\012\ufff3\013\ufff3\014\ufff3\035\ufff3\001\002" +    "\000\020\007\ufff5\010\ufff5\011\ufff5\012\ufff5\013\ufff5\014" +    "\ufff5\035\ufff5\001\002\000\020\007\ufff1\010\ufff1\011\ufff1" +    "\012\ufff1\013\ufff1\014\ufff1\035\ufff1\001\002\000\020\007" +    "\ufff4\010\ufff4\011\ufff4\012\ufff4\013\ufff4\014\ufff4\035\ufff4" +    "\001\002\000\004\006\246\001\002\000\004\006\243\001" +    "\002\000\004\015\240\001\002\000\020\007\ufff6\010\ufff6" +    "\011\ufff6\012\ufff6\013\ufff6\014\ufff6\035\ufff6\001\002\000" +    "\004\015\234\001\002\000\020\003\uff97\011\007\012\012" +    "\016\uff97\026\065\035\014\036\uff97\001\002\000\010\003" +    "\uff97\016\116\036\uff97\001\002\000\006\003\126\036\120" +    "\001\002\000\010\002\uffff\003\126\036\120\001\002\000" +    "\004\037\235\001\002\000\022\007\uff99\010\uff99\011\uff99" +    "\012\uff99\013\uff99\014\uff99\017\236\035\uff99\001\002\000" +    "\020\007\uff98\010\uff98\011\uff98\012\uff98\013\uff98\014\uff98" +    "\035\uff98\001\002\000\020\007\uffee\010\uffee\011\uffee\012" +    "\uffee\013\uffee\014\uffee\035\uffee\001\002\000\004\037\241" +    "\001\002\000\022\007\uff99\010\uff99\011\uff99\012\uff99\013" +    "\uff99\014\uff99\017\236\035\uff99\001\002\000\020\007\uffed" +    "\010\uffed\011\uffed\012\uffed\013\uffed\014\uffed\035\uffed\001" +    "\002\000\004\037\244\001\002\000\022\007\uff99\010\uff99" +    "\011\uff99\012\uff99\013\uff99\014\uff99\017\236\035\uff99\001" +    "\002\000\020\007\uffef\010\uffef\011\uffef\012\uffef\013\uffef" +    "\014\uffef\035\uffef\001\002\000\004\037\247\001\002\000" +    "\022\007\uff99\010\uff99\011\uff99\012\uff99\013\uff99\014\uff99" +    "\017\236\035\uff99\001\002\000\020\007\ufff0\010\ufff0\011" +    "\ufff0\012\ufff0\013\ufff0\014\ufff0\035\ufff0\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\247\000\006\003\003\055\004\001\001\000\002\001" +    "\001\000\006\004\176\037\175\001\001\000\010\012\012" +    "\014\010\024\007\001\001\000\016\017\020\025\160\026" +    "\164\033\161\044\163\054\030\001\001\000\002\001\001" +    "\000\016\012\012\024\065\037\063\040\061\041\066\043" +    "\062\001\001\000\002\001\001\000\016\017\020\025\023" +    "\027\017\034\036\045\031\054\030\001\001\000\002\001" +    "\001\000\002\001\001\000\002\001\001\000\002\001\001" +    "\000\004\063\055\001\001\000\002\001\001\000\002\001" +    "\001\000\002\001\001\000\010\027\017\034\036\045\045" +    "\001\001\000\002\001\001\000\002\001\001\000\002\001" +

⌨️ 快捷键说明

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