Scroll to navigation

BISON(1) Dienstprogramme für Benutzer BISON(1)

BEZEICHNUNG

bison - Parser-Generator des GNU-Projekts (Ersatz für Yacc)

ÜBERSICHT

bison [OPTION]… DATEI

BESCHREIBUNG

Bison ist ein Parser-Generator in der Art von yacc(1). Er sollte zu Eingabedateien, die für yacc(1) erstellt wurden, aufwärtskompatibel sein.

Eingabedateien sollten der Konvention von yacc(1) folgen und auf .y enden. Anders als bei yacc(1) haben die erstellten Dateien keine festen Namen, sondern verwenden stattdessen den Präfix der Eingabedatei. Sollten Sie darüberhinaus C++-Code in der Eingabedatei verwenden müssen, können Sie den Dateinamen durch eine C++-artige Erweiterung enden lassen (.ypp oder .y++). Bison wird dann Ihrer Endung folgen und die Ausgabedatei entsprechend benennen (.cpp oder .c++). Eine Grammatikbeschreibungsdatei parse.yxx würde beispielsweise den Parser in einer Datei namens parse.tab.cxx anstelle von yaccs y.tab.c oder der parse.tab.c in alten Versionen von bison erstellen.

Diese Beschreibung der Optionen, die an bison übergeben werden können, ist vom Knoten Invocation aus dem maßgebenden Handbuch bison.texi übernommen.

Bison unterstützt sowohl traditionelle Optionen mit einem Buchstaben und sprechende lange Optionsnamen. Lange Optionsnamen werden mit einem -- anstelle von - eingeleitet. Die Optionen dürfen abgekürzt werden, solange dies eindeutig ist. Wenn eine lange Option ein Argument akzeptiert, wie --file-prefix, verbinden Sie den Optionsnamen und das Argument mit einem =.

Erstellt einen deterministischen LR- oder verallgemeinerten LR- (GLR-)Parser, der LALR(1)-, IELR(1)- oder kanonische LR(1)-Parser-Tabellen einsetzt.

Zwingende Argumente für lange Optionen sind auch zwingend für kurze Optionen. Das gleiche gilt für optionale Argumente.

Betriebsmodi:

Zeigt Hilfeinformationen an und beendet das Programm.
Gibt Versionsinformationen aus und beendet das Programm.
gibt das Verzeichnis mit den Locale-abhängigen Daten aus und beendet sich.
gibt das Verzeichnis mit den Gerüsten und XSLT aus und beendet sich.
wendet Korrekturen an der Quellgrammatikdatei an und beendet sich.
aktiviert verschiedene Funktionalitäten.

FUNKTIONALITÄT ist eine Kommata-getrennte Liste von Wörten, zu denen folgende gehören:

Fehler durch Zirkumflex anzeigen
Maschinen-lesbare Korrekturen anzeigen
keine Datei erstellen
alles obige
alles obige deaktivieren

Diagnosen:

Meldet die Warnungen, die in KATEGORIE fallen.
Gibt an, ob die Diagnosemeldungen eingefärbt werden sollen.
Gibt die CSS-Datei für die Ausgabe der eingefärbten Diagnosen an.

Zu den Warnungskategorien gehören:

S/R-Konflikte (standardmäßig aktiviert)
R/R-Konflikte (standardmäßig aktiviert)
erstellt Konflikt-Gegenbeispiel
Zeichenketten-Aliase, die keinem Symbol angehängt sind
veraltete Konstrukte
leere Regeln ohne %empty
nicht gesetzte oder nicht verwandte Midrule-Werte
nutzloser Vorrang oder Assoziation
Inkompatibilität mit POSIX Yacc
alle anderen Warnungen (standardmäßig aktiviert)
alle Warnungen außer »counterexamples«, »dangling-alias« und »yacc«
Warnungen in KATEGORIE ausschalten
alle Warnungen ausschalten
Warnungen als Fehler behandeln

WANN kann einer der folgenden Werte sein:

Ausgabe einfärben
Ausgabe nicht einfärben
einfärben, falls das Ausgabegerät ein TTY ist

Anpassung des Parsers:

Gibt die Ausgabeprogrammiersprache an.
Gibt das zu verwendende Gerüst an.
Weist den Parser zum Nachverfolgen an, identisch zu »-Dparse.trace«.
Aktiviert die Unterstützung für Ortsangabe.
Ist zu »%define NAME WERT« ähnlich.
Setzt »%define NAME WERT« außer Kraft.
Setzt PRÄFIX vor das externe Symbol, das durch »-Dapi.prefix={PRÄFIX}« als veraltet markiert wurde.
Erstellt keine »#line«-Direktiven.
Nimmt eine Tabelle mit den Token-Namen auf.
Emuliert POSIX-Yacc.

Ausgabedateien:

Erzeugt auch eine Header-Datei.
Ähnlich, aber DATEI kann nicht angegeben werden (für POSIX Yacc).
Erstellt auch Details zu dem Automaten.
Schreibt Bericht in DATEI.
Ist zu »--report=state« identisch.
Gibt ein PRÄFIX für Ausgabedateien an.
Schreibt Ausgabe in DATEI.
Gibt auch einen Graphen des Automaten aus.
Gibt auch einen HTML-Bericht des Automaten aus.
Gibt auch einen XML-Bericht des Automaten aus.
in Ausgabedateien.

DINGE ist eine Liste von Kommata-getrennten Wörtern, zu denen folgende gehören:

Beschreibt die Zustände.
Vervollständigt die Kernelementmengen mit ihrem Abschluss.
Assoziiert Nachschlagemerkmale explizit mit Einträgen.
Beschreibt die Lösung von Verschiebe-/Reduzierkonflikten.
erstellt Konflikt-Gegenbeispiel
Enthält alle obigen Informationen.
Deaktiviert den Bericht.

AUTOR

Geschrieben von Robert Corbett und Richard Stallman.

FEHLER MELDEN

Melden Sie Fehler (auf Englisch) an <bug-bison@gnu.org>.
GNU Bison-Homepage: <https://www.gnu.org/software/bison/>.
Allgemeine Hilfe zur Verwendung von GNU-Software: <https://www.gnu.org/gethelp/>.

Melden Sie Fehler in der Programmübersetzung unter <https://translationproject.org/team/>.
Für die vollständige Dokumentation führen Sie info bison aus.

COPYRIGHT

Copyright © 2021 Free Software Foundation, Inc.
Dies ist freie Software, in den Quellen finden Sie die Bedingungen zur Weitergabe. Es gibt KEINE Garantie, auch nicht für die MARKTREIFE oder die TAUGLICHKEIT FÜR EINEN BESTIMMTEN ZWECK.

SIEHE AUCH

lex(1), flex(1), yacc(1).

Die vollständige Dokumentation für bison wird als ein Texinfo-Handbuch gepflegt. Wenn die Programme info(1) und bison auf Ihrem Rechner ordnungsgemäß installiert sind, können Sie mit dem Befehl

info bison

auf das vollständige Handbuch zugreifen.

ÜBERSETZUNG

Die deutsche Übersetzung dieser Handbuchseite wurde von Helge Kreutzmann <debian@helgefjell.de> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird KEINE HAFTUNG übernommen.

Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken Sie bitte eine E-Mail an die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.

Januar 2026 GNU Bison 3.8.2