如何在 Linux Bison (Yacc) 中重用代码?

How do I reuse code in Linux Bison (Yacc)?

提问人:czg 提问时间:6/22/2023 更新时间:6/22/2023 访问量:15

问:

这是我的yacc文件的一个片段:

statement:
    expression {
      // code 1
    }
  |
    ROUND_BRACKET_L expression ROUND_BRACKET_R {
      // code 2
    }
;

'语句'的产生对应着两个解析规则,我在'代码1'和'代码2'处用完全相同的逻辑编写了C代码,这种写两次相同代码的方式不好,有没有办法只写一次代码然后重用它们?

野牛 YACC

评论


答:

0赞 user16139739 6/22/2023 #1

将通用代码放在一个函数中并从两个位置调用该函数?