0
コンパイラの魔法を勉強していて、結果が分からない。ここでコンパイル - LL1文法
は文法である:私は「最初」を見つけるとセットに「従う」しようとすると
S -> A #
A -> B G D E
B -> + | - | EPSILON
C -> c C | EPSILON
G -> c C
D -> . C | EPSILON
E -> e B G | EPSILON
、私は私がオンライン予測因子でそれを行うときに私が得るものとは異なる結果が得られます。
は、ここでの結果が示されている:
Non-terminal Symbol/Follow Set
S $
A #
B c
C e, ., #
G ., #
D e, #
E #
なぜGの追従組{Eは、#}ではありませんか? 私が理解しているのは、Aのルールに従えばDはGに従うということですが、EPSILONであってもかまいませんので、Eに移動してaeになるかもしれませんが、EPSILONので、Sのルールに関して#に移動します。
私はここで何が欠けていますか?
私はGのFOLLOWセットのあなたの計算が正しいhttp://hackingoff.com/compilers/predict-first-follow-set
ありがとうございます。私はhttp://hackingoff.com/compilers/predict-first-follow-setを使いました – eli0T