Bison 在语法文件中出现一次或多次
Bison one or more occurrences in grammar file
我需要解析的程序应该是这样的形式:
program : [declaration]+
;
意思应该是:程序由一个或多个声明组成。
轮到它的声明当然是用类似的方式定义的,依此类推...
目前,我在 Bison 解析器的 + 上收到错误。
如何使用 bison 以正确的方式定义 一个或多个 条件?
显然,
Bison 不支持使用 + 或 * 符号来表示这些内容。
我是怎么解决的:
program : declarations
;
declarations : declaration declarations
| declaration
;
一个或多个:
declarations
: declaration
| declarations declaration
;
零个或多个:
declarations
: /* empty */
| declarations declaration
;
我需要解析的程序应该是这样的形式:
program : [declaration]+
;
意思应该是:程序由一个或多个声明组成。 轮到它的声明当然是用类似的方式定义的,依此类推...
目前,我在 Bison 解析器的 + 上收到错误。 如何使用 bison 以正确的方式定义 一个或多个 条件?
显然,
Bison 不支持使用 + 或 * 符号来表示这些内容。
我是怎么解决的:
program : declarations
;
declarations : declaration declarations
| declaration
;
一个或多个:
declarations
: declaration
| declarations declaration
;
零个或多个:
declarations
: /* empty */
| declarations declaration
;