【发布时间】:2016-04-03 08:12:56
【问题描述】:
在 YACC 和其他类似 Yacc 的程序中。当前解析的标记组有动作位置变量。我可能想处理一些列数因未知原因而发生变化的 csv 文件输入。根据我的规则,quoted_strings 和 numbers 可以找到一个或多个实例。
rule : DATE_TOKEN QUOTED_NUMBERS q_string numbers { printf(..... $1,$2....}
q_string
: QUOTED_STRING
| QUOTED_STRING q_string
;
numbers
: number numbers
| number
;
number
: INT_VALUE
| FLOAT_VALUE
;
可以添加操作以按原样进行解析
{ printf("%s %s %s \n",$<string>1, $<string>1, $<string>1); }
是否有运行时宏、构造或变量告诉我已经读取了多少令牌,以便我可以编写一个循环来打印所有令牌值?
什么是 $max
【问题讨论】:
标签: yacc