0
我用ocaml进行编程并使用ocalmyacc来生成解析器。 ocaml的的一个非常有用的羽毛是其变体类型是这样的:如何优雅地处理野牛中的多个组件的规则
type exp = Number of int
| Addexp of exp*exp
具有这样的类型,我可以很优雅在解析器构建AST数据结构来表示一个这样的EXP:
exp :
number {Number($1)}
| exp1 + exp2 {Addexp($1,$3)}
那么如果C++和野牛存在类似的机制呢?
但哪一个PrimaryExp和AddExp @ltcmelo – shengyushen
这些都是这将创建一个AST节点的功能?这只是一个例子。 –
是PrimaryExp和AddExp的某种联合类型?或者可以由野牛推断的东西? – shengyushen