在GetParseFunction()的输出中,缺少相等分配的相同父节点。那是对的吗? R语法中有一个非终结符,称为“ equal_assign”,我希望它是相等赋值的父节点。
R语法的提及部分(来自R源文件“ \ R-3.5.1 \ src \ main \ gram.y):
equal_assign : expr EQ_ASSIGN expr_or_assign { $$ = xxbinary($2,$1,$3); }
;
expr_or_assign : expr { $$ = $1; }
| equal_assign { $$ = $1; }
;
示例:
test.R: foo = - 7
假设我们想通过getParseData检查test.R语法树:
getParseData(parse("test.R"))
结果:
line1 col1 line2 col2 id parent token terminal text
1 1 1 1 3 1 3 SYMBOL TRUE foo
3 1 1 1 3 3 0 expr FALSE
2 1 5 1 5 2 0 EQ_ASSIGN TRUE =
8 1 7 1 9 8 0 expr FALSE
4 1 7 1 7 4 8 '-' TRUE -
5 1 9 1 9 5 6 NUM_CONST TRUE 7
6 1 9 1 9 6 8 expr FALSE
我想知道是否不应该有id 3、2、8的父节点,因为根节点实际上没有子节点。
这是一个错误还是我缺少什么?