Scroll to navigation

BISON(1) Användarkommandon BISON(1)

NAMN

bison — GNU-projektets parsergenerator (ersättare för yacc)

SYNOPSIS

bison [FLAGGA]... FIL

BESKRIVNING

Bison är en parsergenerator i samma stil so yacc(1). Den skall vara uppåtkompatibel med indatafiler gjorda för yacc.

Indatafiler skall följa konventionen hos yacc att sluta på .y. Till skillnad mot yacc har inte de genererade filerna fasta namn, utan använder istället prefixet från indatafilen. Dessutom, om man behöver skriva C++-kod i indatafilen kan man avsluta namnet med en C++-liknande utökning (.ypp eller .y++), då kommer bison följa utökningen och namnge utdatafilen (.cpp eller .c++). Till exempel, en grammatikbeskrivningsfil med namnet parsa.yxx skulle producera den genererade parsern i en fil med namnet parsa.tab.cxx, istället för yaccs y.tab.c eller äldre Bisonversioners parsa.tab.c.

Denna beskrivning av flaggorna som kan ges till bison är tagen från noden Invocation i manualen bison.texi, vilken skall ses som originalet.

Bison stödjer både traditionella enbokstavsflaggor och mnemotekniska långa flaggnamn. Långa flaggnamn anges med -- istället för -. Förkortningar för flaggnamn tillåts så länge de är unika. När ett långt flaggnamn tar ett argument, som --file-prefix, koppla då ihop flaggnamnet med argumentet med =.

Generera en deterministisk LR- eller generaliserad LR- (GLR-)parser som använder LALR(1), IELR(1) eller kanonisk LR(1) parsningstabeller. Stöd för IELR(1) och kanonisk LR(1) är experimentellt.

Obligatoriska argument till långa flaggor är obligatoriska även för de korta. Motsvarande är sant för valfria argument.

Arbetslägen:

visa denna hjälp och avsluta
visa versionsinformation och avsluta
Skriv katalogen som innehåller lokalberoende data.
Skriv katalogen som innehåller skelett och XSLT.
Emulera POSIX yacc.
Rapportera varningarna som faller inom KATEGORI.
Aktivera diverse funktioner.

Parser:

Ange programspråk för utmatning.
Ange skelettfilen som skall användas.
Instrumentera parsern för spårning samma som ”-Dparse.trace”.
Aktivera stöd för lägen.
liknande ”%define NAMN "VÄRDE"”
åsidosätt ”%define NAMN "VÄRDE"”.
Lägg till PREFIX före externa symboler undanbedes till förmån för ”-Dapi.prefix=PREFIX”.
Generera inte ”#line”-direktiv.
Inkludera en tabell över elementnamn.

Utdata:

Skapa också en huvudfil.
Likaledes, utan att kunna ange FIL (för POSIX-Yacc).
Skapa också detaljer om automaten.
Skriv en rapport till FIL.
Samma som --report=state.
Ange ett PREFIX för utdatafiler.
Lägg utdata i FIL.
Skapa också en graf av automaten.
mata även ut en XML-rapport över automaten (XML-schemat är experimentellt)

Varningskategorierna inkluderar:

'midrule-values'
ej satta eller oanvända mittregelvärden
'yacc'
inkompatibiliteter med POSIX Yacc
'conflicts-sr'
S/R-konflikter (aktiverat som standard)
'conflicts-rr'
R/R-konflikter (aktiverat som standard)
'deprecated'
föråldrade konstruktioner
'empty-rule'
tomma regler utan %empty
'precedence'
oanvändbar precedens och associativitet
'other'
alla andra varningar (aktiverat som standard)
'all'
alla varningarna utom ”yacc”
'no-KATEGORI'
slå av varningar i KATEGORI
'none'
slå av alla varningarna
'error[=KATEGORI]'
behandla varningar som fel

SAKER är en lista med kommaseparerade ord som kan innehålla:

'state'
beskriv tillstånden
'itemset'
komplettera kärnobjektmängderna med sina höljen
'lookahead'
koppla uttryckligen framåtblickande element till objekt
'solved'
beskriv lösning av skifta/reducerakonflikter
'all'
inkludera all ovanstående information
'none'
avaktivera rapporten

FUNKTION är en lista av kommaseparerade ord som kan inkludera:

'caret'
visa fel med cirkumflex
'all'
alla ovanstående
'none'
avaktivera alla ovanstående

UPPHOVSMAN

Skriven av Robert Corbett och Richard Stallman.

RAPPORTERA FEL

Rapportera fel till <bug-bison@gnu.org>. Skicka synpunkter på översättningen till >tp-sv@listor.tp-sv.se<.
GNU Bison hemsida: <https://www.gnu.org/software/bison/>.
Allmän hjälp med att använda GNU-program: <https://www.gnu.org/gethelp/>

Rapportera anmärkningar på översättningen till <tp-sv@listor.tp-sv.se>.
För fullständig dokumentation, kör: info bison.

COPYRIGHT

Copyright © 2015 Free Software Foundation, Inc.
Detta är fri programvara; se källkoden för kopieringsvillkor. Det finns INGEN garanti; inte ens för SÄLJBARHET eller LÄMPLIGHET FÖR NÅGOT SPECIELLT ÄNDAMÅL.

SE ÄVEN

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

Den fullständiga dokumentationen för bison underhålls som en Texinfo-manual. Om programmen info och bison är ordentligt installerade på ditt system, bör kommandot

info bison

ge dig tillgång till den kompletta manualen.

ÖVERSÄTTNING

Den svenska översättningen av denna manualsida skapades av Göran Uddeborg <goeran@uddeborg.se>

Denna översättning är fri dokumentation; läs GNU General Public License Version 3 eller senare för upphovsrättsvillkor. Vi tar INGET ANSVAR.

Om du hittar fel i översättningen av denna manualsida, skicka ett mail till Tp-sv@listor.tp-sv.se.

januari 2015 bison 3.0.4