小编sfo*_*rty的帖子

快乐:制作顺序消除了R/R冲突

我有一个语法,根据作品的顺序,快乐的报告3减少/减少冲突或没有.我能找到的最小例子是:

%tokentype {Token}
%token
    int     { Int }
    '-'     { Neg }
    both    { Both }
%nonassoc both
%left '-'
%nonassoc NEG
%%
E : int                  {IntE}
  | both E E             {BothE $2 $3}
  | '-' E %prec NEG      {NegE $2}
  | E '-' E              {SubE $1 $3}
{
data Token = Int | Neg | Both deriving Show
data Expr = BothE Expr Expr | IntE | SubE Expr Expr | NegE Expr deriving Show
}
Run Code Online (Sandbox Code Playgroud)

这有3个减少 - 减少冲突,基于无法区分" …

haskell reduce-reduce-conflict happy lr-grammar

8
推荐指数
0
解决办法
69
查看次数