【发布时间】:2021-12-03 09:55:48
【问题描述】:
您好,我需要了解 flex 和 bison 才能重写为 QRegExp,出现以下问题。 如果代币同时适用于多个团队,那么 YACC / BISON 将如何行动? 例如,有一个 FLOAT_NUM 令牌, 有两个命令:
-
第一个需要两个令牌(STARTED 和 FLOAT_NUM)
title: STARTED FLOAT_NUM { . . . } -
第二条命令只需要 FLOAT_NUM 令牌
my_type: FLOAT_NUM { . . . }
相应地,YACC/Bison 的表达式如下:
STARTED FLOAT_NUM
我是否正确理解只有“title”命令才有效,而“my_type”命令只有在一个 FLOAT_NUM 到达时才有效,而其他什么都没有?
【问题讨论】:
-
LR解析严格从左到右;它不会在输入中搜索。但是完整的解释需要教科书中的一章,这对于 SO 答案的期望太高了。问一个关于你实际在做什么的具体问题会好得多,这可以在这里回答。