私はSwiftコンパイラ(swiftc -dump-ast)によって生成されたASTダンプを解析するANTLR 4文法に取り組んでいます。 以下の例のSwiftプログラムとそれぞれのASTダンプを参照してください。 残念ながら、bug in the compilerのため、ダンプに不均衡なカッコが含まれることがあります(閉じ括弧がいくつかのツリーノードにありません)。次のようにtreeNodeルー
私のタスクはFIRSTを計算し、次の文法のためのセットに従うことです設定します。 P ::= S CS .
S ::= (int , int)
CS ::= C CS | epsilon
C ::= left int | right int | low C
I得た後の最初のセット:私は計算し、次のセットの場合 FIRST(S) = {'('}
FIRST(C) = {left,righ
私は私が構造化されていない文に検証することができますどのようにこの start if
start if
start end
start else
start if
start if
end if
end if
start end
のように有効な構造化されている?(構文エラー、適切ならばすなわちスタートを終了していない) 任意の