BNF記法
Backus-Naur Form
バッカス・ナウア記法
文脈自由文法を記述するするためのメタ言語
プログラミングのみならず、数学的な言語理論でも用いられる
導出と簡約を用いて規則を適用させていく
ALGOL 60の構文定義に使われたのが最初?
Playgroundあった便利そう
BNF記法の名前の由来
この記法を初めて使った人物John BackusのB
Nは、この分野のパイオニアPeter Naurから、もしくは「標準的, normal」のNという説
具象構文木
文法に完全に一対一で対応するような構文木
ASTと対比させるときに使われる言葉
::=
この記号を用いて、左辺が右辺の要素の並びとして構成されることを示す
左辺は非終端記号
FIRST集合とFOLLOW集合
入門記事
https://qiita.com/h_sakurai/items/3cc328a6db8941ac6336
http://kmizu.hatenablog.com/entry/20100203/1265183754
https://qiita.com/erukiti/items/9e9cada94178ed10a1fa
https://engineering.linecorp.com/ja/blog/peg-parser-generator-packrat-parser/
https://www.slideshare.net/KentaHattori/2-36998955
#??
こういうのがあったとき
term ::= factor '*' term | factor
これはどっち??
term ::= (factor '*' term) | factor
こっちだよな??
そうだよmrsekut.icon
term ::= factor '*' (term | factor)
拡張BNF記法
参考
タイガーブック 3章