文法が明確なプログラミング言語のメジャーモードを書いています。BNFがあり、いくつかのハッピーファイルで形式化されています。
私は特に、BNFを一連の順方向/逆方向の正規表現スキャンとして再実装したくはありません(多くの主要モードがそうであるように)。手動または自動で変換することに反対はしません。
私はSMIEを認識しています。Emacslispで使用できる他のオプションを使用して、言語の文法を定義し、顔、sexpコマンド、imenu集団など、可能な限り自動的に生成することができます。
私は主に、生のパフォーマンスではなく、モードの単純さと正確さに関心がありますが、トレードオフが何であるかを大まかに知りたいと思います(明らかに、パフォーマンスが低すぎると、使用できなくなり、したがって、使用するのは適切ではありません)。
Emacs Lispマニュアルの「Major Modes」ですべてをすでに認識しているため、これはメジャーモードの記述に多少関係があります。
更新:私はSemanticの作者と調査して話しましたが、font-lock
s を生成することはできません。より高いレベルのツールを提供することを目的としており、私が探しているものではありません。