table of contents
BISON(1) | Comenzi utilizator | BISON(1) |
NUME¶
bison - generator de analizator al proiectului GNU (înlocuitor yacc)
SINOPSIS¶
bison [OPȚIUNE]... FIȘIER
DESCRIERE¶
bison este un generator de analizator în stilul yacc(1). Acesta ar trebui să fie compatibil cu fișierele de intrare concepute pentru yacc.
Fișierele de intrare trebuie să respecte convenția yacc de a se termina cu .y. Spre deosebire de yacc, fișierele generate nu au nume fixe, ci folosesc prefixul fișierului de intrare. În plus, dacă trebuie să puneți cod C++ în fișierul de intrare, puteți termina numele său cu o extensie de tip C++ (.ypp sau .y++), apoi bison va urma extensia dvs. pentru a denumi fișierul de ieșire (.cpp sau .c++). De exemplu, un fișier de descriere a gramaticii numit parse.yxx va produce analizatorul generat într-un fișier numit parse.tab.cxx, în loc de y.tab.c al lui yacc sau parse.tab.c al vechii versiuni bison.
Această descriere a opțiunilor care pot fi date lui bison este adaptată de la nodul Invocation din manualul bison.texi, care ar trebui să fie considerată ca fiind de referință.
bison acceptă atât opțiunile tradiționale cu o singură literă, cât și numele mnemonice lungi ale opțiunilor. Numele de opțiuni lungi sunt indicate cu -- în loc de -. Sunt permise abrevierile pentru numele opțiunilor, atât timp cât acestea sunt unice. Atunci când o opțiune lungă are un argument, cum ar fi --file-prefix, conectați numele opțiunii și argumentul cu =.
Generarea unui analizator determinist LR sau LR generalizat (GLR) care utilizează tabelele de analizator LALR(1), IELR(1) sau LR(1) canonice.
Argumentele obligatorii pentru opțiunile lungi sunt obligatorii și pentru opțiunile scurte. Similar pentru argumentele opționale.
Moduri de operare:¶
- -h, --help
- afișează acest mesaj de ajutor și iese
- -V, --version
- afișează informațiile despre versiune și iese
- --print-localedir
- afișează directorul care conține datele dependente de configurația regională și iese
- --print-datadir
- afișează directorul care conține scheletele și XSLT și iese
- -u, --update
- aplică corecturile la fișierul sursă de gramatică și iese
- -f, --feature[=CARACTERISTICI]
- activează diverse caracteristici
CARACTERISTICI este o listă de cuvinte separate prin virgulă care pot include:¶
- caret, diagnostics-show-caret
- afișează erorile cu semne de cursor „‸”
- fixit, diagnostics-parseable-fixits
- afișează corecturi care pot fi citite de mașină
- syntax-only
- nu generează niciun fișier
- all
- toate cele de mai sus
- none
- dezactivează toate cele de mai sus
Diagnosticare:¶
- -W, --warnings[=CATEGORIA]
- raportează avertismentele care se încadrează în CATEGORIA
- --color[=CÂND]
- dacă se dorește colorarea diagnosticelor
- --style=FIȘIER
- specifică FIȘIERUL CSS pentru colorarea diagnosticelor
Categoriile de avertismente includ:¶
- conflicts-sr
- Conflicte S/R (activată în mod implicit)
- conflicts-rr
- Conflicte R/R (activată în mod implicit)w
- counterexamples, cex
- generează contraexemple de conflict
- dangling-alias
- alias de șiruri care nu sunt atașate unui simbol
- deprecated
- construcții obsolete
- empty-rule
- reguli goale fără %empty
- midrule-values
- valori intermediare nedefinite sau neutilizate
- precedence
- precedență și asociativitate inutile
- yacc
- incompatibilități cu POSIX Yacc
- other
- toate celelalte avertismente (activate în mod implicit)
- all
- toate avertismentele, cu excepția „counterexamples”, „dangling-alias” și „yacc”
- no-CATEGORY
- dezactivează avertismentele din CATEGORIA
- none
- dezactivează toate avertismentele
- error[=CATEGORIE]
- tratează avertismentele ca erori
CÂND poate fi unul dintre următoarele:¶
- always, yes
- colorează ieșirea
- never, no
- nu colorează ieșirea
- auto, tty
- colorează dacă dispozitivul de ieșire este un tty (terminal)
Reglarea analizatorului:¶
- -L, --language=LIMBAJ
- specifică limbajul de programare de ieșire
- -S, --skeleton=FIȘIER
- specifică scheletul care trebuie utilizat
- -t, --debug
- instrumentează analizatorul pentru urmărire, la fel ca „-Dparse.trace”
- --locations
- activează suportul de locație
- -D, --define=NUME[=VALOARE]
- similar cu „%define NUME VALOARE”
- -F, --force-define=NUME[=VALOARE]
- suprascrie „%define NUME VALOARE”
- -p, --name-prefix=PREFIX
- antepune PREFIX la simbolurile externe depreciate de „-Dapi.prefix={PREFIX}”
- -l, --no-lines
- nu generează directivele „#line”
- -k, --token-table
- include un tabel cu numele simbolurilor
- -y, --yacc
- emulează POSIX Yacc
Fișiere de ieșire:¶
- -H, --header=[FIȘIER]
- produce, de asemenea, un fișier antet
- -d
- la fel, dar nu poate specifica FIȘIER (pentru POSIX Yacc)
- -r, --report=LUCRURI
- produce, de asemenea, detalii privind automatul
- --report-file=FIȘIER
- scrie raportul în FIȘIER
- -v, --verbose
- la fel ca „--report=state”
- -b, --file-prefix=PREFIX
- specifică un PREFIX pentru fișierele de ieșire
- -o, --output=FIȘIER
- lasă ieșirea în FIȘIER
- -g, --graph[=FIȘIER]
- produce, de asemenea, un grafic al automatului
- --html[=FIȘIER]
- produce, de asemenea, un raport HTML al automatului
- -x, --xml[=FIȘIER]
- produce, de asemenea, un raport XML al automatului
- -M, --file-prefix-map=VECHI=NOU înlocuiește prefixul VECHI cu NOU la scrierea rutelor fișierelor
- în fișierele de ieșire
LUCRURI este o listă de cuvinte separate prin virgulă, care poate include:¶
- states
- descrie stările
- itemsets
- completează seturile de elemente de bază cu închiderea acestora
- lookaheads
- asociază în mod explicit simbolurile dinainte „lookahead” la elemente
- solved
- descrie rezolvarea conflictelor de deplasare/reducere
- counterexamples, cex
- generează contraexemple de conflict
- all
- include toate informațiile de mai sus
- none
- dezactivează raportul
AUTOR¶
Scris de Robert Corbett și Richard Stallman.
RAPORTAREA ERORILOR¶
Raportați erorile la: <bug-bison@gnu.org>.
Pagina principală a GNU Bison:
<https://www.gnu.org/software/bison/>
Ajutor general pentru utilizarea software-ului GNU:
<https://www.gnu.org/gethelp/>.
Pentru documentația completă, rulați: «info
bison».
DREPTURI DE AUTOR¶
Drepturi de autor © 2021 Free Software Foundation, Inc.
Acesta este software liber; consultați sursa pentru condițiile
de copiere. NU există NICIO garanție; nici măcar pentru
COMERCIALIZARE sau POTRIVIRE PENTRU UN ANUMIT SCOP.
CONSULTAȚI ȘI¶
Documentația completă pentru bison este menținută ca un manual Texinfo. Dacă programele info și bison sunt instalate corect în sistemul dvs., comanda
- info bison
ar trebui să vă permită accesul la manualul complet.
TRADUCERE¶
Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>
Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.
Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.
septembrie 2021 | GNU Bison 3.8.2 |