7

パーサー ジェネレーターを使用して、ドメイン固有言語用のパーサーを作成するように勧められました。

理想的には、Objective-C パーサーを出力し、BNF 入力を受け取って言語を記述したいと考えています。

選択肢はほとんどないようです..Objective Cでより人気のあるパーサージェネレーターの1つを使用することは可能ですか?

ありがとう!

4

3 に答える 3

8

コード生成は、Objective-C のような動的言語では「真の方法」ではありません。パーサー ジェネレーターで実現できることはすべて、実行時に実現できます。したがって、 BNF のような文法を使用するParseKitのようなものを試して、パーサーを構築するために実装できるさまざまなデリゲート フックを提供することをお勧めします。

詳細については、このチュートリアルをご覧ください。

于 2011-07-16T22:56:37.113 に答える
7

(もちろん)BisonやYACCなどの予想される答えはありますが、ネイティブのObjective-Cソリューションが必要な場合は、すでに言及されているカップルがあります。(ハンマーとParseKit)私が知っているもう1つのものは「CoreParse」です: https ://github.com/beelsebob/CoreParse

于 2011-07-16T23:19:28.550 に答える