読者の方とメールしていて話題になったのですが、ゲーム開発に好かれているライブラリに bison と flex があります。
bison は構文解析のプログラムで flex は字句解析のプログラムです。組み合わせるとコンパイラなどの言語スキャナを作ることができます。
美少女ゲームなどのアドベンチャーゲームでは、スクリプトデータを解析するというプログラムを組む必要があるのですが、これを bison と flex で組んでいる例がよくあるそうです(その手の筋に就職した方から聞きました)。今となっては bison と flex なしでの開発はあり得ないとか(ただ、今はもっと別の種類のコンパイラコンパイラがありますので状況が変わっているかもしれません)。
bison と flex には前身となる yacc と lex というプログラムがあるのですが、こちらは PHP や PostgreSQL など有名なプログラムの言語スキャナ部分を担当しています。応用範囲はゲームだけにはとどまりません。
bison や yacc の設定ファイルの読み方を勉強すると BNF に少し明るくなれますので勉強になると思います。 BNF に明るくなると EBNF がどれだけ読みやすくなっているかがわかり、時代の流れを感じることができます。
Contributions