funera1 / mylang

標準ライブラリだけで頑張る自作言語
0 stars 0 forks source link

first set #9

Closed funera1 closed 2 years ago

funera1 commented 2 years ago

まず非終端記号Aを用意 Aから遷移する記号列の先頭を見る ・その先頭が非終端nextAの場合 i)First(nextA)が空のとき それをスタートとして、再帰する 終了したら、First(A) = First(nextA)とする ii)First(nextA)が空でないとき First(A) = First(nextA)とする ・その先頭が終端の場合 First(A).add(nexta)とする

Aから1回で遷移する記号列がなくなるまで上記を繰り返す