現在、プログラミング言語用の(非常に)小さなインタープリター/コンパイラーを作成しようとしています。言語の構文を設定したので、言語の文法を書き留める必要があります。少し調査した結果、LL(1) パーサーが最も使いやすいと思われるため、LL(1) パーサーを使用するつもりです。
私はこの分野には不慣れですが、収集した内容から、BNF または EBNF を使用して構文を形式化することを強くお勧めします。ただし、すべての文法が LL(1) パーサーを使用した実装に適しているわけではないようです。したがって、LL(1) 形式で文法を記述するための正しい (または推奨される) アプローチは何かと考えていました。
助けてくれてありがとう、チャーリー。
PS: Haskell の Parsec ライブラリを使用してパーサーを作成するつもりです。
編集: また、SK ロジックによると、Parsec は無限先読み (LL(k) ?) を処理できますが、質問は依然としてそのタイプの文法を表していると思います。