Produce Delphi Code, der eine Datei mit einem bestimmten BNF-Format analysiert

8

Gibt es einen Parser-Code oder eine Parser-Komponente für Delphi oder ein Programm, das die BNF-Notation (Backus-Naur-Form) als Eingabe akzeptiert und Delphi-Code (oder Pascal-Code) zum Parsen erzeugt?

Der Grund dafür ist, dass ich versuchen werde, Datensätze nach verschiedenen Versionen des GEDCOM-Standards (wird für die Genealogie verwendet) und muss die Datei von Zustand zu Zustand verarbeiten, wenn die Token erreicht sind. Ich würde ein automatisiertes Programm bevorzugen, um die grunzende Arbeit des Einrichtens des grundlegenden Pascal-Codes zu tun, um den Staat zu machen, um Verarbeitung für mich zu erklären.

Ansonsten muss ich die Zustandsstrukturen manuell erstellen.

Ich habe die folgende Frage gesehen (und TinyPG sieht gut aus , aber ich brauche Delphi-Code): Parser-Generator, der C # mit einer BNF-Grammatik ausgibt?

Wenn es kein solches Biest gibt, gibt es noch andere Tools, die diese Aufgabe erleichtern?

    
lkessler 23.02.2012, 01:09
quelle

1 Antwort

6

Ich empfehle Ihnen das GOLD Analysesystem. GOLD-Grammatiken basieren auf der Backus-Naur-Form und regulären Ausdrücken.

Ressourcen

Engines

Engines für Delphi sind hier besonders aufgeführt hier .

Dies eins für Object Pascal von Rob van den Brink könnte von Interesse sein.

Quote:

  

Rob van den Brink hat seine Engine für die Object Pascal-Programmierung aktualisiert   Sprache. Seine Implementierung verwendet eine Programmvorlage, um ein   voll funktionsfähiges Programm. Dieser Ansatz bettet die Parse-Tabellen ein   direkt im Quellcode. Daher müssen Sie kein a laden   Kompilierte Grammatik-Tabelle-Datei. Der Download enthält eine Programmvorlage   sowie einige Beispiele.

Beispielprojekt mit GOLD

GOLD ist mächtig, es wird als Parsing-Engine von dcu2pas verwendet, einem Delphi Compiled Unit (dcu files) -Decompiler, der gehostet wird hier (bitbucket.org). Beachten Sie stattdessen, dass es in geschrieben wurde.

    
menjaraz 23.02.2012, 05:28
quelle