the true meaning of everything
a(b, c).d
a(b).c
Program: 2 expression(s).
FuncCallExpr: Expr.d
FuncCallExpr: a(arguments)
IdentifierExpr: b
IdentifierExpr: c
FuncCallExpr: a(arguments)
FuncCallExpr: Expr.c
IdentifierExpr: b
"a(b, c).d"は正しくパースして、"a(b).c"が間違えるの!?パーサトレースするときだ!!
"a(b, c).d" is correctly parsed, and "a(b).c" is not?! Parser trace time!!
"a(b)"でもパースのは:
Even when parsing "a(b)", we get:
見てねぇ。"(b)"のパースした後で"b"にシンプリファイしたら、まだ"a b"です。同じです。でもね、"a(b).c"は"a b.c"になって、速く間違える!Damn. ==Shifting token ')' ()
Entering state 53
Reducing stack by rule 9 (line 60):
$1 = token '(' ()
$2 = nterm expr ()
$3 = token ')' ()
-> $$ = nterm expr ()
Have a look. After parsing "(b)", it's simplified, though it's still "a b" - the same - but then "a(b).c" becomes "a b.c", quickly becoming incorrect! Damn. ==
直すときだ。。。。
Time to fix...
