bison 解析器中的特定形式 $<sval>$
Specific form in bison parser $<sval>$
我正在编写编译器并查找示例我发现了以下代码:
WHILE expression{
string endLabel = createNewLabel();
addToOutput("\tje" + getTypeSuffixFromSymbol() + "\t" +
getAddressFromSymbol() + ",#0,#" + endLabel + "\n");
$<sval>$ = strdup(endLabel.c_str());
}
第一次遇到这种情况。变量 <sval>
或 <ival>
中的用途是什么?我只用 $$
,
...
它是 yacc 功能的 bison 扩展,允许访问 yytype 的任何成员。你可以在这里阅读:Action Types
我正在编写编译器并查找示例我发现了以下代码:
WHILE expression{
string endLabel = createNewLabel();
addToOutput("\tje" + getTypeSuffixFromSymbol() + "\t" +
getAddressFromSymbol() + ",#0,#" + endLabel + "\n");
$<sval>$ = strdup(endLabel.c_str());
}
第一次遇到这种情况。变量 <sval>
或 <ival>
中的用途是什么?我只用 $$
, ...
它是 yacc 功能的 bison 扩展,允许访问 yytype 的任何成员。你可以在这里阅读:Action Types