Parser-Generator für Ziel C?

7

Mir wurde geraten, einen Parser-Generator zu verwenden, um einen Parser für meine domänenspezifische Sprache zu erstellen.

Idealerweise würde ich gerne einen objektiven C-Parser ausgeben und BNF-Eingaben machen, um die Sprache zu beschreiben.

Es scheint sehr wenig Auswahl zu geben. Ist es möglich, einen der populäreren Parsergeneratoren mit dem Ziel C zu verwenden?

Danke!

    
FBryant87 16.07.2011, 22:53
quelle

3 Antworten

8

Code-Generierung ist nicht der "wahre Weg" in dynamischen Sprachen wie Objective-C. Alles was durch einen Parser-Generator erreicht werden kann, kann zur Laufzeit erreicht werden. Ich würde vorschlagen, dass Sie etwas wie ParseKit ausprobieren, das eine BNF-ähnliche Grammatik verwendet und Ihnen verschiedene Delegate-Hooks zur Verfügung stellt, die Sie implementieren können Konstruiere deinen Parser.

Weitere Einzelheiten finden Sie in diesem Tutorial .

    
Jonathan Sterling 16.07.2011, 22:56
quelle
7

Es gibt (natürlich) Ihre erwarteten Antworten auf Dinge wie Bison oder YACC oder was auch immer, aber wenn Sie eine native Objective-C-Lösung wollen, gibt es das Paar, das bereits erwähnt wurde. (Hammer und ParseKit) Eine andere, die ich kenne, ist "CoreParse": Ссылка

    
Dave DeLong 16.07.2011 23:19
quelle
4

Sie könnten sicherlich jeden der C-basierten Parser-Generatoren verwenden, wenn Sie damit vertraut sind. Ein weiterer Objective-C-Laufzeitparser ist Hammer vom unbändigen Rob Rix.

    
Joe Osborn 16.07.2011 23:05
quelle