EnglischFranzösischSpanisch

Ad


OnWorks-Favicon

yaccplan9 – Online in der Cloud

Führen Sie yaccplan9 im kostenlosen Hosting-Anbieter OnWorks über Ubuntu Online, Fedora Online, den Windows-Online-Emulator oder den MAC OS-Online-Emulator aus

Dies ist der Befehl yaccplan9, der beim kostenlosen Hosting-Anbieter OnWorks mit einer unserer zahlreichen kostenlosen Online-Workstations wie Ubuntu Online, Fedora Online, dem Windows-Online-Emulator oder dem MAC OS-Online-Emulator ausgeführt werden kann

PROGRAMM:

NAME/FUNKTION


yacc – noch ein weiterer Compiler-Compiler

ZUSAMMENFASSUNG


jacc [ zu erhalten ... ] Grammatikkenntnisse

BESCHREIBUNG


Yacc wandelt einen kontextfreien Grammatik- und Übersetzungscode in eine Reihe von Tabellen für eine um
LR(1) Parser und Übersetzer. Die Grammatik kann mehrdeutig sein; Es gelten die angegebenen Vorrangregeln
wird verwendet, um Unklarheiten aufzulösen.

Die Ausgabedatei, y.tab.c, muss vom C-Compiler kompiliert werden, um ein Programm zu erstellen
Das Programm muss mit einer lexikalischen Analysefunktion geladen werden. yylex(void) (oft generiert von
lex(1)), mit a main(int Argumente, verkohlen *argv[]) Programm und mit einer Fehlerbehandlungsroutine,
yyerror(char*).

Die Optionen sind

-o Ausgabe Direkte Ausgabe in die angegebene Datei statt y.tab.c.

-Dn Erstelle Datei y.debug, mit Diagnosemeldungen. Um sie einzubinden
Kompilieren Sie den Parser mit dem Präprozessorsymbol yydebug definiert. Die Menge an
Die Diagnoseausgabe des Parsers wird durch den Wert reguliert n. Der Wert 0 meldet
Fehler; 1 meldet Kürzungen; Höhere Werte (bis zu 4) enthalten mehr Informationen
über Zustandsübergänge.

-v Erstelle Datei y.Ausgabe, enthält eine Beschreibung der Parsing-Tabellen und von
Konflikte, die durch Unklarheiten in der Grammatik entstehen.

-d Erstelle Datei y.tab.h, enthalten #define Aussagen, die assoziieren jacc-zugewiesen
„Token-Codes“ mit vom Benutzer deklarierten „Token-Namen“. Fügen Sie es in die Quelldateien ein
ausgenommen y.tab.c um Zugriff auf die Token-Codes zu gewähren.

-s eindämmen Ändern Sie das Präfix der Dateinamen y.tab.c, y.tab.h, y.debug und y.Ausgabe zu
eindämmen.

-S Schreiben Sie einen Parser, der Stdio anstelle von verwendet drucken Routinen in libc.

-l Deaktivieren Sie #line-Direktiven im generierten Parser.

-a Generieren Sie einen Parser, der ein Argument vom Typ Yyarg akzeptiert und dieses Argument übergibt
zu jedem Aufruf der Lexer-Funktion, yylex. Yyarg enthält pro Instanz
state und ein einzelnes für den Benutzer sichtbares Mitglied, arg, vom Typ void*.

Die Spezifikation jacc selbst ist im Wesentlichen die gleiche wie die in beschriebene UNIX-Version
die unten genannten Referenzen. neben dem -D Option sind die wichtigsten relevanten Unterschiede:

Die Schnittstelle zur C-Umgebung erfolgt standardmäßig über statt
; das -S Option kehrt dies um.

Der Parser akzeptiert UTF-Eingabetext (siehe utf(7)), was mehrere Auswirkungen hat.
Erstens der Rückgabewert von yylex() passt nicht mehr in ein kurz; Zweitens, der Anfang
Der Wert für Nicht-Terminals ist jetzt 0xE000 statt 257.

Der generierte Parser kann rekursiv sein: Aktionen können aufgerufen werden yyparse, zum Beispiel zu
eine Art implementieren #einschließen Aussage in einem Dolmetscher.

Schließlich wurden einige undokumentierte Innenabläufe des Parsers geändert, die
kann Programme beeinträchtigen, die zu viel über seine Struktur wissen.

Nutzen Sie yaccplan9 online über die Dienste von onworks.net


Kostenlose Server & Workstations

Laden Sie Windows- und Linux-Apps herunter

Linux-Befehle

Ad