野牛解析器中的特定形式 $<sval>$

Specific form in bison parser $<sval>$

本文关键字:gt sval lt      更新时间:2023-10-16

我正在编写编译器并寻找示例,我找到了以下代码:

WHILE expression{
string endLabel = createNewLabel();
addToOutput("tje" + getTypeSuffixFromSymbol($3) + "t" +
getAddressFromSymbol($3) + ",#0,#" + endLabel + "n");
$<sval>$ = strdup(endLabel.c_str());
}

我第一次见到这个。变量<sval><ival>的目的是什么?我只使用$$$1...

它是 yacc 功能的野牛扩展,允许访问 yytype 的任何成员。您可以在此处阅读有关它的信息: 操作类型