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 + -
显示快捷键?