在另一条规则中使用bison规则

时间:2016-05-10 12:38:39

标签: parsing bison lalr

我们假设我有这样的语法:

expr : expr '-' expr { $$ = $1 - $3; }
     | "Function" '(' expr ',' expr ')' { $$ = ($3 - $5) * 2; }
     | NUMBER { $$ = $1; };

如何使用规则

expr : expr '-' expr { $$ = $1 - $3; }

里面

expr : "Function" '(' expr ',' expr ')' { $$ = ($3 - $5) * 2; }

因为重复了$1 - $3的实施?如果我可以使用已经实现的从规则1中减去并且只用2添加乘法会好得多。这只是基本的例子,但是我有非常大的语法,有很多重复计算。

0 个答案:

没有答案