繁体   English   中英

匹配一组标记的Bison语法规则

[英]Bison grammar rule to match a group of tokens

有没有办法一次匹配多个令牌? 现在,我的规则之一如下所示:

rule:
    T_A { $$ = some_common_behavior(); }
  | T_B { $$ = some_common_behavior(); }
  | T_C { $$ = some_common_behavior(); }
  ... // many more tokens

但是,如果一组令牌可以一次匹配,它将更具可维护性:

rule:
  T_A | T_B | T_C | ... { $$ = some_common_behavior(); }

PS: some_common_behavior调用已经可以处理当前令牌,因此不需要像第一个示例中那样为每个令牌重复代码。 我只需要一个更好的方法来声明这一点,而无需所有重复。

您不能只是将T_*分组为一个表达式,然后在您的rule使用该表达式吗?

rule:
   Ts { $$ = some_common_behaviour(); }
;

Ts:
  T_A
  | T_B
  | T_C
  | ...;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM