ANTLRWorks のデバッグ モードを使用して C 文法をテストしています。ANTLRWorks でのデバッグは、理解を深めるのに非常に役立ちますが、出力ツリーのさまざまな色を理解するのに問題があります。backtrack=true
文法で使っています。赤い色はデバッガーが間違った方向に進んでいることを意味し、緑色はデバッガーが正しい方向に進んでいることを意味すると思いました。しかし、濃い赤と濃い緑はどうですか?
次の入力にのみ一致する「小さな木」の写真を追加しました。
int test;
質問に答える必要がある場合は、使用される最も重要な 4 つのルールを次に示します。
start
: declaration*
;
declaration
: functionDefinition
| dataDeclaration //also used for Function Declaration
| assemblerDefinition
;
functionDefinition
: declarationSpecifier* declarator Equals Default Semi
| declarationSpecifier* declarator Equals Delete Semi
| declarationSpecifier* declarator functionBody
;
dataDeclaration
:declarationSpecifier* declarator initializer? (Comma declarator initializer?)* Semi
;