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

📄 parser.java

📁 Tiger语言编译器
💻 JAVA
📖 第 1 页 / 共 5 页
字号:
package Parse;

//----------------------------------------------------
// The following code was generated by CUP v0.10k
// Tue Jan 15 16:26:39 CST 2008
//----------------------------------------------------

import java.io.IOException;

import Absyn.*;

/**
 * CUP v0.10k generated parser.
 * 
 * @version Tue Jan 15 16:26:39 CST 2008
 */
public class parser extends com.sun.java_cup.internal.runtime.lr_parser {

	/** Default constructor. */
	public parser() {
		super();
	}
	public com.sun.java_cup.internal.runtime.Symbol scan(){
		try {
			return lexer.nextToken();
		} catch (IOException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		return null;
	}
	/** Constructor which sets the default scanner. */
	public parser(com.sun.java_cup.internal.runtime.Scanner s) {
		super(s);
	}

	/** Production table. */
	protected static final short _production_table[][] = unpackFromStrings(new String[] { "\000\103\000\002\002\004\000\002\003\003\000\002\003"
			+ "\003\000\002\003\003\000\002\003\004\000\002\003\005"
			+ "\000\002\003\005\000\002\003\005\000\002\003\005\000"
			+ "\002\003\005\000\002\003\005\000\002\003\005\000\002"
			+ "\003\005\000\002\003\005\000\002\003\005\000\002\003"
			+ "\005\000\002\003\005\000\002\003\003\000\002\003\005"
			+ "\000\002\003\006\000\002\003\005\000\002\003\005\000"
			+ "\002\003\004\000\002\003\006\000\002\003\005\000\002"
			+ "\003\010\000\002\003\006\000\002\003\010\000\002\003"
			+ "\006\000\002\003\010\000\002\003\003\000\002\003\007"
			+ "\000\002\003\006\000\002\014\005\000\002\004\003\000"
			+ "\002\006\003\000\002\006\005\000\002\005\003\000\002"
			+ "\005\005\000\002\021\005\000\002\021\007\000\002\015"
			+ "\003\000\002\015\005\000\002\015\006\000\002\015\006"
			+ "\000\002\011\003\000\002\011\004\000\002\010\003\000"
			+ "\002\010\003\000\002\010\003\000\002\012\011\000\002"
			+ "\012\013\000\002\012\012\000\002\012\014\000\002\012"
			+ "\010\000\002\012\012\000\002\012\011\000\002\012\013"
			+ "\000\002\017\006\000\002\017\007\000\002\013\006\000"
			+ "\002\013\010\000\002\016\003\000\002\016\005\000\002"
			+ "\016\005\000\002\020\005\000\002\020\007" });

	/** Access to production table. */
	public short[][] production_table() {
		return _production_table;
	}

	/** Parse-action table. */
	protected static final short[][] _action_table = unpackFromStrings(new String[] { "\000\224\000\030\004\011\005\013\006\005\020\004\035"
			+ "\012\040\006\041\007\044\015\050\020\051\010\063\016"
			+ "\001\002\000\030\004\011\005\013\006\005\020\004\035"
			+ "\012\040\006\041\007\044\015\050\020\051\010\063\016"
			+ "\001\002\000\070\002\uffff\007\uffff\011\uffff\013\uffff\015"
			+ "\uffff\017\uffff\020\uffff\021\uffff\022\uffff\023\uffff\024\uffff"
			+ "\025\uffff\026\uffff\027\uffff\030\uffff\031\uffff\032\uffff\036"
			+ "\uffff\037\uffff\042\uffff\043\uffff\045\uffff\046\uffff\052\uffff"
			+ "\053\uffff\054\uffff\064\uffff\001\002\000\030\004\011\005"
			+ "\013\006\005\020\004\035\012\040\006\041\007\044\015"
			+ "\050\020\051\010\063\016\001\002\000\004\005\213\001"
			+ "\002\000\070\002\ufffe\007\ufffe\011\ufffe\013\ufffe\015\ufffe"
			+ "\017\ufffe\020\ufffe\021\ufffe\022\ufffe\023\ufffe\024\ufffe\025"
			+ "\ufffe\026\ufffe\027\ufffe\030\ufffe\031\ufffe\032\ufffe\036\ufffe"
			+ "\037\ufffe\042\ufffe\043\ufffe\045\ufffe\046\ufffe\052\ufffe\053"
			+ "\ufffe\054\ufffe\064\ufffe\001\002\000\070\002\000\007\000"
			+ "\011\000\013\000\015\000\017\000\020\000\021\000\022"
			+ "\000\023\000\024\000\025\000\026\000\027\000\030\000"
			+ "\031\000\032\000\036\000\037\000\042\000\043\000\045"
			+ "\000\046\000\052\000\053\000\054\000\064\000\001\002"
			+ "\000\030\004\011\005\013\006\005\020\004\035\012\040"
			+ "\006\041\007\044\015\050\020\051\010\063\016\001\002"
			+ "\000\102\002\uffd8\007\uffd8\011\uffd8\012\162\013\uffd8\014"
			+ "\161\015\uffd8\016\uffd8\017\uffd8\020\uffd8\021\uffd8\022\uffd8"
			+ "\023\uffd8\024\uffd8\025\uffd8\026\uffd8\027\uffd8\030\uffd8\031"
			+ "\uffd8\032\uffd8\033\uffd8\036\uffd8\037\uffd8\042\uffd8\043\uffd8"
			+ "\045\uffd8\046\uffd8\052\uffd8\053\uffd8\054\uffd8\063\163\064"
			+ "\uffd8\001\002\000\034\002\160\017\033\020\025\021\036"
			+ "\022\027\023\032\024\031\025\037\026\034\027\035\030"
			+ "\030\031\026\032\040\001\002\000\010\052\074\053\067"
			+ "\054\075\001\002\000\032\004\011\005\013\006\005\020"
			+ "\004\035\012\040\006\041\007\044\015\050\020\051\010"
			+ "\063\016\064\061\001\002\000\076\002\ufff0\007\ufff0\011"
			+ "\ufff0\012\021\013\ufff0\015\ufff0\016\022\017\ufff0\020\ufff0"
			+ "\021\ufff0\022\ufff0\023\ufff0\024\ufff0\025\ufff0\026\ufff0\027"
			+ "\ufff0\030\ufff0\031\ufff0\032\ufff0\033\023\036\ufff0\037\ufff0"
			+ "\042\ufff0\043\ufff0\045\ufff0\046\ufff0\052\ufff0\053\ufff0\054"
			+ "\ufff0\064\ufff0\001\002\000\070\002\uffe3\007\uffe3\011\uffe3"
			+ "\013\uffe3\015\uffe3\017\uffe3\020\uffe3\021\uffe3\022\uffe3\023"
			+ "\uffe3\024\uffe3\025\uffe3\026\uffe3\027\uffe3\030\uffe3\031\uffe3"
			+ "\032\uffe3\036\uffe3\037\uffe3\042\uffe3\043\uffe3\045\uffe3\046"
			+ "\uffe3\052\uffe3\053\uffe3\054\uffe3\064\uffe3\001\002\000\030"
			+ "\004\011\005\013\006\005\020\004\035\012\040\006\041"
			+ "\007\044\015\050\020\051\010\063\016\001\002\000\004"
			+ "\005\055\001\002\000\030\004\011\005\013\006\005\020"
			+ "\004\035\012\040\006\041\007\044\015\050\020\051\010"
			+ "\063\016\001\002\000\070\002\uffef\007\uffef\011\uffef\013"
			+ "\uffef\015\uffef\017\033\020\025\021\036\022\027\023\032"
			+ "\024\031\025\037\026\034\027\035\030\030\031\026\032"
			+ "\040\036\uffef\037\uffef\042\uffef\043\uffef\045\uffef\046\uffef"
			+ "\052\uffef\053\uffef\054\uffef\064\uffef\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\030\004"
			+ "\011\005\013\006\005\020\004\035\012\040\006\041\007"
			+ "\044\015\050\020\051\010\063\016\001\002\000\070\002"
			+ "\ufff1\007\ufff1\011\ufff1\013\ufff1\015\ufff1\017\033\020\025"
			+ "\021\036\022\027\023\032\024\031\025\037\026\034\027"
			+ "\035\030\030\031\026\032\ufff1\036\ufff1\037\ufff1\042\ufff1"
			+ "\043\ufff1\045\ufff1\046\ufff1\052\ufff1\053\ufff1\054\ufff1\064"
			+ "\ufff1\001\002\000\066\002\ufff6\007\ufff6\011\ufff6\013\ufff6"
			+ "\015\ufff6\017\033\020\025\021\036\022\027\023\032\024"
			+ "\031\026\ufff6\027\035\030\ufff6\031\ufff6\032\ufff6\036\ufff6"
			+ "\037\ufff6\042\ufff6\043\ufff6\045\ufff6\046\ufff6\052\ufff6\053"
			+ "\ufff6\054\ufff6\064\ufff6\001\002\000\070\002\ufffa\007\ufffa"
			+ "\011\ufffa\013\ufffa\015\ufffa\017\ufffa\020\ufffa\021\ufffa\022"
			+ "\ufffa\023\ufffa\024\ufffa\025\ufffa\026\ufffa\027\ufffa\030\ufffa"
			+ "\031\ufffa\032\ufffa\036\ufffa\037\ufffa\042\ufffa\043\ufffa\045"
			+ "\ufffa\046\ufffa\052\ufffa\053\ufffa\054\ufffa\064\ufffa\001\002"
			+ "\000\066\002\ufff4\007\ufff4\011\ufff4\013\ufff4\015\ufff4\017"
			+ "\033\020\025\021\036\022\027\023\032\024\031\025\ufff4"
			+ "\026\ufff4\030\ufff4\031\ufff4\032\ufff4\036\ufff4\037\ufff4\042"
			+ "\ufff4\043\ufff4\045\ufff4\046\ufff4\052\ufff4\053\ufff4\054\ufff4"
			+ "\064\ufff4\001\002\000\066\002\ufff5\007\ufff5\011\ufff5\013"
			+ "\ufff5\015\ufff5\017\033\020\025\021\036\022\027\023\032"
			+ "\024\031\025\037\027\035\030\030\031\ufff5\032\ufff5\036"
			+ "\ufff5\037\ufff5\042\ufff5\043\ufff5\045\ufff5\046\ufff5\052\ufff5"
			+ "\053\ufff5\054\ufff5\064\ufff5\001\002\000\070\002\ufffc\007"
			+ "\ufffc\011\ufffc\013\ufffc\015\ufffc\017\ufffc\020\ufffc\021\036"
			+ "\022\027\023\ufffc\024\ufffc\025\ufffc\026\ufffc\027\ufffc\030"
			+ "\ufffc\031\ufffc\032\ufffc\036\ufffc\037\ufffc\042\ufffc\043\ufffc"
			+ "\045\ufffc\046\ufffc\052\ufffc\053\ufffc\054\ufffc\064\ufffc\001"
			+ "\002\000\066\002\ufff8\007\ufff8\011\ufff8\013\ufff8\015\ufff8"
			+ "\017\033\020\025\021\036\022\027\024\ufff8\025\ufff8\026"
			+ "\ufff8\027\ufff8\030\ufff8\031\ufff8\032\ufff8\036\ufff8\037\ufff8"
			+ "\042\ufff8\043\ufff8\045\ufff8\046\ufff8\052\ufff8\053\ufff8\054"
			+ "\ufff8\064\ufff8\001\002\000\066\002\ufff7\007\ufff7\011\ufff7"
			+ "\013\ufff7\015\ufff7\017\033\020\025\021\036\022\027\023"
			+ "\032\025\ufff7\026\ufff7\027\ufff7\030\ufff7\031\ufff7\032\ufff7"
			+ "\036\ufff7\037\ufff7\042\ufff7\043\ufff7\045\ufff7\046\ufff7\052"
			+ "\ufff7\053\ufff7\054\ufff7\064\ufff7\001\002\000\066\002\ufff3"
			+ "\007\ufff3\011\ufff3\013\ufff3\015\ufff3\017\033\020\025\021"
			+ "\036\022\027\023\032\024\031\025\037\026\ufff3\027\035"
			+ "\031\ufff3\032\ufff3\036\ufff3\037\ufff3\042\ufff3\043\ufff3\045"
			+ "\ufff3\046\ufff3\052\ufff3\053\ufff3\054\ufff3\064\ufff3\001\002"
			+ "\000\070\002\ufff9\007\ufff9\011\ufff9\013\ufff9\015\ufff9\017"
			+ "\ufff9\020\ufff9\021\ufff9\022\ufff9\023\ufff9\024\ufff9\025\ufff9"
			+ "\026\ufff9\027\ufff9\030\ufff9\031\ufff9\032\ufff9\036\ufff9\037"
			+ "\ufff9\042\ufff9\043\ufff9\045\ufff9\046\ufff9\052\ufff9\053\ufff9"
			+ "\054\ufff9\064\ufff9\001\002\000\070\002\ufff2\007\ufff2\011"
			+ "\ufff2\013\ufff2\015\ufff2\017\033\020\025\021\036\022\027"
			+ "\023\032\024\031\025\037\026\034\027\035\030\030\031"
			+ "\ufff2\032\ufff2\036\ufff2\037\ufff2\042\ufff2\043\ufff2\045\ufff2"
			+ "\046\ufff2\052\ufff2\053\ufff2\054\ufff2\064\ufff2\001\002\000"
			+ "\070\002\ufffb\007\ufffb\011\ufffb\013\ufffb\015\ufffb\017\ufffb"
			+ "\020\ufffb\021\036\022\027\023\ufffb\024\ufffb\025\ufffb\026"
			+ "\ufffb\027\ufffb\030\ufffb\031\ufffb\032\ufffb\036\ufffb\037\ufffb"
			+ "\042\ufffb\043\ufffb\045\ufffb\046\ufffb\052\ufffb\053\ufffb\054"
			+ "\ufffb\064\ufffb\001\002\000\076\002\uffd7\007\uffd7\011\uffd7"
			+ "\012\uffd7\013\uffd7\015\uffd7\016\uffd7\017\uffd7\020\uffd7\021"
			+ "\uffd7\022\uffd7\023\uffd7\024\uffd7\025\uffd7\026\uffd7\027\uffd7"
			+ "\030\uffd7\031\uffd7\032\uffd7\033\uffd7\036\uffd7\037\uffd7\042"
			+ "\uffd7\043\uffd7\045\uffd7\046\uffd7\052\uffd7\053\uffd7\054\uffd7"
			+ "\064\uffd7\001\002\000\034\013\057\017\033\020\025\021"
			+ "\036\022\027\023\032\024\031\025\037\026\034\027\035"
			+ "\030\030\031\026\032\040\001\002\000\076\002\uffd5\007"
			+ "\uffd5\011\uffd5\012\uffd5\013\uffd5\015\uffd5\016\uffd5\017\uffd5"
			+ "\020\uffd5\021\uffd5\022\uffd5\023\uffd5\024\uffd5\025\uffd5\026"
			+ "\uffd5\027\uffd5\030\uffd5\031\uffd5\032\uffd5\033\uffd5\036\uffd5"
			+ "\037\uffd5\042\uffd5\043\uffd5\045\uffd5\046\uffd5\052\uffd5\053"
			+ "\uffd5\054\uffd5\064\uffd5\001\002\000\004\064\066\001\002"
			+ "\000\070\002\uffeb\007\uffeb\011\uffeb\013\uffeb\015\uffeb\017"
			+ "\uffeb\020\uffeb\021\uffeb\022\uffeb\023\uffeb\024\uffeb\025\uffeb"
			+ "\026\uffeb\027\uffeb\030\uffeb\031\uffeb\032\uffeb\036\uffeb\037"
			+ "\uffeb\042\uffeb\043\uffeb\045\uffeb\046\uffeb\052\uffeb\053\uffeb"
			+ "\054\uffeb\064\uffeb\001\002\000\040\011\064\017\033\020"
			+ "\025\021\036\022\027\023\032\024\031\025\037\026\034"
			+ "\027\035\030\030\031\026\032\040\046\uffde\064\uffde\001"
			+ "\002\000\006\046\uffdf\064\uffdf\001\002\000\030\004\011"
			+ "\005\013\006\005\020\004\035\012\040\006\041\007\044"
			+ "\015\050\020\051\010\063\016\001\002\000\006\046\uffdd"
			+ "\064\uffdd\001\002\000\070\002\uffec\007\uffec\011\uffec\013"
			+ "\uffec\015\uffec\017\uffec\020\uffec\021\uffec\022\uffec\023\uffec"
			+ "\024\uffec\025\uffec\026\uffec\027\uffec\030\uffec\031\uffec\032"
			+ "\uffec\036\uffec\037\uffec\042\uffec\043\uffec\045\uffec\046\uffec"
			+ "\052\uffec\053\uffec\054\uffec\064\uffec\001\002\000\004\005"
			+ "\151\001\002\000\012\045\uffd2\052\uffd2\053\uffd2\054\uffd2"
			+ "\001\002\000\012\045\uffd0\052\uffd0\053\uffd0\054\uffd0\001"
			+ "\002\000\004\045\145\001\002\000\012\045\uffd1\052\uffd1"
			+ "\053\uffd1\054\uffd1\001\002\000\004\005\120\001\002\000"
			+ "\004\005\100\001\002\000\012\045\uffd4\052\074\053\067"
			+ "\054\075\001\002\000\004\045\uffd3\001\002\000\004\023"
			+ "\101\001\002\000\010\005\102\014\103\034\105\001\002"
			+ "\000\012\045\uffc3\052\uffc3\053\uffc3\054\uffc3\001\002\000"
			+ "\004\005\111\001\002\000\012\045\uffc7\052\uffc7\053\uffc7"
			+ "\054\uffc7\001\002\000\004\047\106\001\002\000\004\005"
			+ "\107\001\002\000\012\045\uffc1\052\uffc1\053\uffc1\054\uffc1"
			+ "\001\002\000\012\045\uffc6\052\uffc6\053\uffc6\054\uffc6\001"
			+ "\002\000\004\010\114\001\002\000\004\015\113\001\002"
			+ "\000\012\045\uffc2\052\uffc2\053\uffc2\054\uffc2\001\002\000"
			+ "\004\005\115\001\002\000\010\007\116\015\uffc0\064\uffc0"
			+ "\001\002\000\004\005\111\001\002\000\006\015\uffbf\064"
			+ "\uffbf\001\002\000\004\063\121\001\002\000\006\005\111"
			+ "\064\123\001\002\000\004\064\134\001\002\000\006\010"
			+ "\125\023\124\001\002\000\030\004\011\005\013\006\005"
			+ "\020\004\035\012\040\006\041\007\044\015\050\020\051"
			+ "\010\063\016\001\002\000\004\005\126\001\002\000\004"
			+ "\023\127\001\002\000\030\004\011\005\013\006\005\020"
			+ "\004\035\012\040\006\041\007\044\015\050\020\051\010"
			+ "\063\016\001\002\000\042\017\033\020\025\021\036\022"
			+ "\027\023\032\024\031\025\037\026\034\027\035\030\030"
			+ "\031\026\032\040\045\uffca\052\uffca\053\uffca\054\uffca\001"
			+ "\002\000\012\045\uffc8\052\uffc8\053\uffc8\054\uffc8\001\002"
			+ "\000\042\017\033\020\025\021\036\022\027\023\032\024"
			+ "\031\025\037\026\034\027\035\030\030\031\026\032\040"

⌨️ 快捷键说明

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