我需要在OCaml解析器中给予高优先级和左关联性来运行应用程序。我有一大堆不同的令牌它如OCaml函数应用优先级和关联性
%token LET REC EQ IN FUN ARROW
%token IF THEN ELSE
%token PLUS MINUS MUL DIV LT LE NE AND OR
%token LPAREN RPAREN
匹配,我给所有这些优先级和结合使用%left
,right
... 然而,由于exp
我使用,以配合ISN”吨令牌我不知道我会怎么做,在这种情况下:
exp:
| exp exp { App($1,$2)}
我有所有我的exp
比赛,didnt让一群不同的EXP1 exp2s的等等,想知道它可能给exp
exp
最高优先级a nd左边联合它。
我张贴这在另一个论坛,我的课,并得到:
您可以将虚拟令牌的功能应用规则如下关联:
rule: .... %precc DUMMY_FUN_APP
,然后用%左指定关联性和虚拟标记。
但我不太确定这是什么意思,所以如果有人能详细说明这个问题或给我另一个很好的解决方案。
我结束了刚刚使用多个exprs版本,是的,我使用的是yacc –