Frage

Ich versuche, eine Grammatik in EBNF zu schreiben (abgesehen von einer wirklich guten Grund, es hat EBNF sein) und bin auf der Suche für ein paar Dienstprogramme für die es - wenn es eine GUI-Schnittstelle ist, die man machen kann, das wäre toll , aber das, was ich für die meisten bin auf der Suche ist etwas, das die Grammatik überprüfen, zum Beispiel zu sehen, ob es LALR ( n ), und wenn ja, was der Wert von n ist. Sie solche Versorgungsleistungen bestehen? Gibt es noch andere nützliche Grammatik-Schreiben Werkzeuge, die ich kennen soll (ich bin für Parser-Generatoren nicht auf der Suche).

War es hilfreich?

Lösung

Unter Steven Dee Vorschlag einen Schritt weiter, möchten Sie vielleicht prüfen, ANTLRWorks , das ist ein interaktives GUI-Entwicklungs-Tool für ANTLR Grammatiken.

Andere Tipps

Mit TinyPG ! Es ist ein erstaunlich all-in-one Compiler Compiler mit einem leichten GUI, in dem Sie Ihre Parser mit RegEx , EBNF bauen, und schreiben C # / VB Code etwas mit dem parse-Baum

zu tun

Hier ist eine kurze und informative Zusammenfassung, die ich früher tat, was auch Sie zu den Downloads verknüpft.


Mein Verständnis von TinyPG:

TinyPG ermöglicht es Ihnen, zu schreiben und entwickeln:

Es hat einen eingebauten IDE, nur Windows (erstellt in C # .NET, Open Source) .

Es erlaubt Ihnen, auszuprobieren und Vorschau Reguläre Ausdrücke die eingebaute RegEx-Tool. RegEx-Syntax wird in .NET unterstützt, was bedeutet, dass auch Ihre ausgegeben Parser Code verwendet .NET reguläre Ausdrücke.

Sie schreiben EBNF die Sprache Ihrer Wahl zu beschreiben (Hier sind einige frei verfügbar BNF Grammers die (C, Java, JavaScript, C #, VB.NET, SQL-89)

moderne Programmiersprachen beschreiben

Mit TinyPG, RegEx zusammen mit dem EBNF gibt einen analysiert Baum (siehe das Diagramm) .

Nun, was tun Sie mit dem Parse-Baum? Sie schreiben C # / VB-Code (innerhalb TinyPG, pro BNF grammer Regel) für Compiler / Dolmetscher / Übersetzer. (innen TinyPG öffnen Sie die "einfache expression2.tpg" Datei innerhalb der zur Verfügung gestellten Proben eine Demo von einer Rechner 'Compiler')

sehen

TinyPG können Sie Übersetzen und Test tokenizer + Parser + complier , innerhalb der TinyPG IDE, und es gibt schließlich den Parser Quellcode in C # .NET oder VB.NET (Wahl) mit ready-to-use Klassen.

Ein ausgezeichneter All-in-one-Compiler Compiler für die Massen. Genießen Sie!

PS:. Korrigieren Sie mich, wenn ich auf irgendetwas davon falsch bin

Um zu überprüfen, ob eine Grammatik einen bestimmten Parser-Algorithmus erlaubt es nur setzen in den Parser-Generator. Im Fall von LALR (1), übergeben Sie die Grammatik zu YACC zu sehen, ob es erkennt Konflikte.

CoCo / R C # aus der Liste fehlt. Es ist einfach zu bedienen, sehr vielseitig und besonders nützlich, hat Codegeneratoren für eine Vielzahl von Sprachen

Coco / R für C #, Java, C ++, C #, VB.Net, Oberon, andere Sprachen

[1] http://www.ssw.uni-linz.ac. at / Coco /

ANTLR ist ein GUI-Parser-Generator in Java, die umfangreiche Funktionen für die Grammatik-Analyse und Factoring hat. Schauen Sie sich die FAQ; es könnte unterstützen, was Sie suchen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top