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

📄 grammarparser.java

📁 SkipOOMiniJOOL教学语言的编译器前端
💻 JAVA
📖 第 1 页 / 共 3 页
字号:
      /* Symbol object for return from actions */      java_cup.runtime.Symbol CUP$GrammarParser$result;      /* select the action based on the action number */      switch (CUP$GrammarParser$act_num)        {          /*. . . . . . . . . . . . . . . . . . . .*/          case 24: // epsilon_with_action_opt ::= EPSILON ACTIONCODE             {              Epsilon RESULT = null;		int codeleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int coderight = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		String code = (String)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = new Epsilon(new Action(code));
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(13/*epsilon_with_action_opt*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 23: // epsilon_with_action_opt ::= EPSILON             {              Epsilon RESULT = null;			RESULT = new Epsilon(Action.NONE);
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(13/*epsilon_with_action_opt*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 22: // non_terminal_with_action_opt ::= NONTERMINAL ACTIONCODE             {              NonTerminal RESULT = null;		int ntleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).left;		int ntright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).right;		String nt = (String)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).value;		int codeleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int coderight = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		String code = (String)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = new NonTerminal(new SimpleName(nt), new Action(code));
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(12/*non_terminal_with_action_opt*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 21: // non_terminal_with_action_opt ::= NONTERMINAL             {              NonTerminal RESULT = null;		int ntleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int ntright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		String nt = (String)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = new NonTerminal(new SimpleName(nt), Action.NONE);
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(12/*non_terminal_with_action_opt*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 20: // terminal_with_action_opt ::= TERMINAL ACTIONCODE             {              Terminal RESULT = null;		int tleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).left;		int tright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).right;		String t = (String)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).value;		int codeleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int coderight = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		String code = (String)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = new Terminal(new SimpleName(t), new Action(code));
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(11/*terminal_with_action_opt*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 19: // terminal_with_action_opt ::= TERMINAL             {              Terminal RESULT = null;		int tleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int tright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		String t = (String)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = new Terminal(new SimpleName(t), Action.NONE);
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(11/*terminal_with_action_opt*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 18: // name_with_action ::= epsilon_with_action_opt             {              NameWithAction RESULT = null;		int epleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int epright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		Epsilon ep = (Epsilon)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = ep;
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(10/*name_with_action*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 17: // name_with_action ::= non_terminal_with_action_opt             {              NameWithAction RESULT = null;		int ntleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int ntright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		NonTerminal nt = (NonTerminal)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = nt;
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(10/*name_with_action*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 16: // name_with_action ::= terminal_with_action_opt             {              NameWithAction RESULT = null;		int tleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int tright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		Terminal t = (Terminal)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			RESULT = t;
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(10/*name_with_action*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 15: // righthand_side ::= righthand_side name_with_action             {              RightHandSide RESULT = null;		int rsleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).left;		int rsright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).right;		RightHandSide rs = (RightHandSide)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).value;		int naleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int naright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		NameWithAction na = (NameWithAction)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			rs.getTermsAndNonTerms().add(na);
		RESULT = rs;
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(9/*righthand_side*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-1)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 14: // righthand_side ::= name_with_action             {              RightHandSide RESULT = null;		int naleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int naright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		NameWithAction na = (NameWithAction)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			List l = new ArrayList();
		l.add(na);
		RESULT = new RightHandSide(l);
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(9/*righthand_side*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 13: // righthand_sides ::= righthand_sides OR righthand_side             {              List RESULT = null;		int rssleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-2)).left;		int rssright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-2)).right;		List rss = (List)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-2)).value;		int rsleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int rsright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		RightHandSide rs = (RightHandSide)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;			rss.add(rs);
		RESULT = rss;
	              CUP$GrammarParser$result = new java_cup.runtime.Symbol(8/*righthand_sides*/, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-2)).left, ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right, RESULT);            }          return CUP$GrammarParser$result;          /*. . . . . . . . . . . . . . . . . . . .*/          case 12: // righthand_sides ::= righthand_side             {              List RESULT = null;		int rsleft = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).left;		int rsright = ((java_cup.runtime.Symbol)CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).right;		RightHandSide rs = (RightHandSide)((java_cup.runtime.Symbol) CUP$GrammarParser$stack.elementAt(CUP$GrammarParser$top-0)).value;

⌨️ 快捷键说明

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