我有以下最小化语法
Exp : let var '=' Exp in Exp end { App (Fn $2 $6) $4 }
| Exp Exp { App $1 $2 }
| Exp OpCode Exp { Op $1 Add $3 }
| '(' Exp ')' { $2 }
| num { Num $1 }
| var { Ident $1 }
| '\\' var '.' Exp { Fn $2 $4 }
该Exp Exp
规则用于在值中应用函数。但是,如果我有类似的东西myFunc 1 2
默认为 precendence myFunc (1 2)
,这不是我想要的。我想要(myFunc 1) 2
,用于咖喱。
但是,如果我没有非终结符,我该如何定义关联呢?尝试做%left Exp
似乎没有帮助。