bison - manual referensi, opsi, contoh perintah


NAMA

bison - Generator parser Proyek GNU (penggantian yacc)

RINGKASAN

bison [OPTION]... FILE

KETERANGAN

Bison adalah generator parser dengan gaya yacc(1). Itu harus kompatibel dengan file input yang dirancang untuk yacc.

File masukan harus mengikuti konvensi yacc yang diakhiri dengan .y. Tidak seperti yacc, file yang dihasilkan tidak memiliki nama tetap, melainkan menggunakan awalan dari file masukan. Selain itu, jika Anda perlu memasukkan kode C++ di file input, Anda dapat mengakhiri namanya dengan ekstensi mirip C++ (.ypp atau .y++), kemudian bison akan mengikuti ekstensi Anda untuk memberi nama file output (.cpp atau .c++). Misalnya, file deskripsi tata bahasa bernama parse.yxx akan menghasilkan parser yang dihasilkan dalam file bernama parse.tab.cxx, bukan y.tab.c versi yacc atau parse.tab.c versi Bison lama.

Deskripsi opsi yang dapat diberikan ke bison ini diadaptasi dari simpul Invokasi di manual bison.texi, yang harus dianggap sebagai berwibawa.

Bison mendukung opsi huruf tunggal tradisional dan nama opsi panjang mnemonik. Nama opsi panjang ditunjukkan dengan -- bukan -. Singkatan untuk nama opsi diperbolehkan asalkan unik. Ketika opsi panjang membutuhkan argumen, seperti --file-prefix, hubungkan nama opsi dan argumen dengan =.

Hasilkan parser deterministik LR atau generalized LR (GLR) menggunakan tabel parser LALR(1), IELR(1), atau kanonis LR(1).

Argumen wajib untuk opsi panjang juga wajib untuk opsi pendek. Hal yang sama berlaku untuk argumen opsional.

Mode Operasi:

-h, --help

tampilkan bantuan ini dan keluar

-V, --version

informasi versi keluaran dan keluar

--print-localedir

direktori keluaran yang berisi data dan keluar yang bergantung pada lokal

--print-datadir

direktori keluaran yang berisi kerangka dan XSLT dan keluar

-u, --update

terapkan perbaikan ke file tata bahasa sumber dan keluar

-f, --feature[=FEATURES]

mengaktifkan berbagai fitur

FITUR adalah daftar kata yang dipisahkan koma yang dapat mencakup:

caret, diagnostics-show-caret

menunjukkan kesalahan dengan tanda sisipan

fixit, diagnostics-parseable-fixits

menunjukkan perbaikan yang dapat dibaca mesin

syntax-only

jangan menghasilkan file apa pun

all

semua yang di atas

none

nonaktifkan semua hal di atas

Diagnostik:

-W, --warnings[=CATEGORY]

laporkan peringatan yang termasuk dalam CATEGORY

--color[=WHEN]

apakah akan mewarnai diagnostik

--style=FILE

tentukan CSS FILE untuk diagnostik colorizer

Kategori peringatan meliputi:

conflicts-sr

Konflik S/R (diaktifkan secara default)

conflicts-rr

Konflik R/R (diaktifkan secara default)

counterexamples, cex

menghasilkan contoh tandingan konflik

dangling-alias

alias string yang tidak dilampirkan pada simbol

deprecated

konstruksi usang

empty-rule

aturan kosong tanpa %kosong

midrule-values

nilai midrule tidak disetel atau tidak digunakan

precedence

prioritas dan asosiatif yang tidak berguna

yacc

tidak kompatibel dengan POSIX Yacc

other

semua peringatan lainnya (diaktifkan secara default)

all

semua peringatan kecuali 'counterexamples', 'dangling-alias' dan 'yacc'

no-CATEGORY

matikan peringatan di CATEGORY

none

matikan semua peringatan

error[=CATEGORY]

memperlakukan peringatan sebagai kesalahan

KAPAN dapat menjadi salah satu dari yang berikut:

always, yes

mewarnai output

never, no

tidak mewarnai output

auto, tty

mewarnai jika perangkat keluaran adalah tty

Menyetel Parser:

-L, --language=LANGUAGE

menentukan bahasa pemrograman output

-S, --skeleton=FILE

menentukan kerangka yang akan digunakan

-t, --debug

instrumen parser untuk melacak sama seperti '-Dparse.trace'

--locations

mengaktifkan dukungan lokasi

-D, --define=NAME[=VALUE]

mirip dengan '%define NAME VALUE'

-F, --force-define=NAME[=VALUE]

timpa '%define NAME VALUE'

-p, --name-prefix=PREFIX

tambahkan PREFIX ke simbol eksternal yang tidak digunakan lagi oleh '-Dapi.prefix={PREFIX}'

-l, --no-lines

jangan menghasilkan arahan '#line'

-k, --token-table

termasuk tabel nama token

-y, --yacc

meniru POSIX Yacc

File Keluaran:

-H, --header=[FILE]

juga menghasilkan file header

-d

demikian juga tetapi tidak dapat menentukan FILE (untuk POSIX Yacc)

-r, --report=THINGS

juga menghasilkan rincian pada robot

--report-file=FILE

menulis laporan ke FILE

-v, --verbose

sama dengan '--laporan=status'

-b, --file-prefix=PREFIX

tentukan PREFIX untuk file keluaran

-o, --output=FILE

biarkan output ke FILE

-g, --graph[=FILE]

juga menampilkan grafik otomat

--html[=FILE]

juga menampilkan laporan HTML dari otomat

-x, --xml[=FILE]

juga menampilkan laporan XML dari otomat

-M, --file-prefix-map=OLD=NEW replace prefix OLD with NEW when writing file paths

dalam file keluaran

HAL-HAL adalah daftar kata-kata yang dipisahkan koma yang dapat mencakup:

states

menggambarkan negara bagian

itemsets

lengkapi set item inti dengan penutupnya

lookaheads

secara eksplisit mengasosiasikan lookahead token ke item

solved

menggambarkan pergeseran/mengurangi penyelesaian konflik

counterexamples, cex

menghasilkan contoh tandingan konflik

all

sertakan semua informasi di atas

none

menonaktifkan laporan

PENGARANG

Ditulis oleh Robert Corbett dan Richard Stallman.

MELAPORKAN BUG

Laporkan bug ke .
Beranda GNU Bison: .
Bantuan umum menggunakan perangkat lunak GNU: .
Untuk dokumentasi lengkap, jalankan: info bison.

HAK CIPTA

Hak Cipta © 2021 Free Software Foundation, Inc.
Ini adalah perangkat lunak bebas; lihat sumber untuk kondisi penyalinan. TIDAK ADA garansi; bahkan tidak untuk DIPERDAGANGKAN atau KESESUAIAN UNTUK TUJUAN TERTENTU.

LIHAT JUGA

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

The full documentation for bison is maintained as a Texinfo manual. If the info and bison programs are properly installed at your site, the command

info bison

should give you access to the complete manual.