parser

戻る
%token <int > NUMBER
%token LPAREN
%token RPAREN
%token PLUS
%token EOI

/* 優先順位と連結性をここに書く */
%left PLUS

/* 開始記号の定義 */
%type < Eval.t > expr
%type < Eval.t > start
%start start

%%

start:
| expr EOI
   { $1 }

expr:
| NUMBER
    {Eval.Num($1)}
| expr PLUS expr
    {Eval.Plus($1, $3)}
| LPAREN expr RPAREN
    { $2 }