minimal.cup

来自「tiger编译器的Java实现」· CUP 代码 · 共 31 行

CUP
31
字号
package Example;import java_cup.runtime.*;parser code {:	public static void main(String args[]) throws Exception {		new parser(new Yylex(System.in)).parse();	}:}terminal SEMI, PLUS, TIMES, LPAREN, RPAREN;terminal Integer NUMBER;non terminal expr_list, expr_part;non terminal Integer expr;precedence left PLUS;precedence left TIMES;expr_list ::= expr_list expr_part | expr_part;expr_part ::= expr:e {: System.out.println(" = "+e+";"); :} SEMI;expr      ::= NUMBER:n	      {: RESULT=n; :}            | expr:l PLUS expr:r	      {: RESULT=new Integer(l.intValue() + r.intValue()); :}	    | expr:l TIMES expr:r	      {: RESULT=new Integer(l.intValue() * r.intValue()); :}	    | LPAREN expr:e RPAREN	      {: RESULT=e; :}	    ;

⌨️ 快捷键说明

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