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.

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

  Arbetslägen:

-h, --help
    visa denna hjälp och avsluta

-V, --version
    visa versionsinformation och avsluta

--print-localedir
    Skriv katalogen som innehåller lokalberoende data och avsluta.

--print-datadir
    Skriv katalogen som innehåller skelett och XSLT och avsluta.

-u, --update
    Applicera fixar på källgrammatikfilen och avsluta.

-f, --feature[=FUNKTIONER]
    Aktivera diverse funktioner.

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

caret, diagnostics-show-caret
    visa fel med cirkumflex

fixit, diagnostics-parseable-fixits
    visa maskinläsbara fixar

syntax-only
    generera inte någon fil

all alla ovanstående

none
    avaktivera alla ovanstående

  Diagnostik:

-W, --warnings[=KATEGORI]
    Rapportera varningarna som faller inom KATEGORI.

--color[=NÄR]
    Huruvida diagnostik skall färgläggas.

--style=FIL
    Ange CSS-FIL:en för färgläggning av diagnostik.

  Varningskategorierna inkluderar:

conflicts-sr
    S/R-konflikter (aktiverat som standard)

conflicts-rr
    R/R-konflikter (aktiverat som standard)

counterexamples, cex
    generera konfliktmotexempel

dangling-alias
    strängalias som inte är fästa vid en symbol

deprecated
    föråldrade konstruktioner

empty-rule
    tomma regler utan %empty

midrule-values
    ej satta eller oanvända mittregelvärden

precedence
    oanvändbar precedens och associativitet

yacc
    inkompatibiliteter med POSIX Yacc

övrigt
    alla andra varningar (aktiverat som standard)

all alla varningarna utom ”counterexamples”, ”dangling-alias” och ”yacc”

no-KATEGORI
    slå av varningar i KATEGORI

none
    slå av alla varningarna

error[=KATEGORI]
    behandla varningar som fel

  NÄR kan vara en av följande:

always, yes
    färglägg utdata

never, no
    färglägg inte utdata

auto, tty
    färglägg utdata om enheten är en tty

  Trimma parsern:

-L, --language=SPRÅK
    Ange programspråk för utmatning.

-S, --skeleton=FIL
    Ange skelettfilen som skall användas.

-t, --debug
    Instrumentera parsern för spårning samma som ”-Dparse.trace”.

--locations
    Aktivera stöd för lägen.

-D, --define=NAMN[=VÄRDE]
    Motsvarar ”%define NAMN VÄRDE”.

-F, --force-define=NAMN[=VÄRDE]
    Åsidosätt ”%define NAMN VÄRDE”.

-p, --name-prefix=PREFIX
    Lägg till PREFIX före externa symboler undanbedes till förmån för ”-Dapi.prefix={PREFIX}”.

-l, --no-lines
    Generera inte ”#line”-direktiv.

-k, --token-table
    Inkludera en tabell över elementnamn.

-y, --yacc
    Emulera POSIX yacc.

  Utdatafiler:

-H, --header=[FIL]
    Skapa också en huvudfil.

-d  Likaledes, utan att kunna ange FIL (för POSIX-Yacc).

-r, --report=SAKER
    Skapa också detaljer om automaten.

--report-file=FIL
    Skriv en rapport till FIL.

-v, --verbose
    Samma som --report=state.

-b, --file-prefix=PREFIX
    Ange ett PREFIX för utdatafiler.

-o, --output=FIL
    Lägg utdata i FIL.

-g, --graph[=FIL]
    Skapa också en graf av automaten.

--html[=FIL]
    Skapa också en HTML-rapport om automaten.

-x, --xml[=FIL]
    Skapa också en XML-rapport om automaten.

-M, --file-prefix-map=GAMMALT=NYTT Ersätt prefixet GAMMALT med NYTT när filsökvägar skrivs
    i utmatningsfiler

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

states
    beskriv tillstånden

itemsets
    komplettera kärnobjektmängderna med sina höljen

lookaheads
    koppla uttryckligen framåtblickande element till objekt

solved
    beskriv lösning av skifta/reducerakonflikter

counterexamples, cex
    generera konfliktmotexempel

all inkludera all ovanstående information

none
    avaktivera rapporten

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 © 2021 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 (https://www.gnu.org/licenses/gpl-3.0.html) 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.