bison - คู่มืออ้างอิง ตัวเลือก ตัวอย่างคำสั่ง


ชื่อ

bison - ตัวสร้างโปรแกรมแยกวิเคราะห์โครงการ GNU (การเปลี่ยน yacc)

เรื่องย่อ

bison [OPTION]... FILE

คำอธิบาย

Bison เป็นตัวแยกวิเคราะห์ในรูปแบบของ yacc(1) ควรเข้ากันได้กับไฟล์อินพุตที่ออกแบบมาสำหรับ yacc

ไฟล์อินพุตควรเป็นไปตามข้อตกลง yacc ที่ลงท้ายด้วย .y ซึ่งแตกต่างจาก yacc ไฟล์ที่สร้างขึ้นจะไม่มีชื่อตายตัว แต่ใช้คำนำหน้าของไฟล์อินพุตแทน ยิ่งไปกว่านั้น หากคุณต้องการใส่โค้ด C++ ในไฟล์อินพุต คุณสามารถต่อท้ายชื่อของเขาด้วยนามสกุลคล้าย C++ (.ypp หรือ .y++) จากนั้น bison จะตามนามสกุลของคุณเพื่อตั้งชื่อเอาต์พุต ไฟล์ (.cpp หรือ .c++) ตัวอย่างเช่น ไฟล์คำอธิบายไวยากรณ์ชื่อ parse.yxx จะสร้างโปรแกรมแยกวิเคราะห์ที่สร้างขึ้นในไฟล์ชื่อ parse.tab.cxx แทนที่จะเป็น yacc y.tab.c ของ Bison เวอร์ชันเก่าของ parse.tab.c

คำอธิบายของตัวเลือกที่สามารถมอบให้กับ bison ได้รับการดัดแปลงมาจากโหนด Invocation ในคู่มือ bison.texi ซึ่งควรจะใช้เป็น มีอำนาจ

Bison รองรับทั้งตัวเลือกตัวอักษรเดี่ยวแบบดั้งเดิมและชื่อตัวเลือกแบบยาวช่วยในการจำ ชื่อตัวเลือกแบบยาวจะแสดงด้วย -- แทนที่จะเป็น - อนุญาตให้ใช้ตัวย่อสำหรับชื่อตัวเลือกได้ตราบเท่าที่ไม่ซ้ำกัน เมื่อตัวเลือกยาวรับอาร์กิวเมนต์ เช่น --file-prefix ให้เชื่อมชื่อตัวเลือกและอาร์กิวเมนต์ด้วย =

สร้างตัวแยกวิเคราะห์ LR เชิงกำหนดหรือตัวแยกวิเคราะห์ LR (GLR) ทั่วไปที่ใช้ตารางตัวแยกวิเคราะห์ LALR(1), IELR(1) หรือ Canonical LR(1)

อาร์กิวเมนต์ที่จำเป็นสำหรับตัวเลือกแบบยาวนั้นจำเป็นสำหรับตัวเลือกแบบสั้นด้วย เช่นเดียวกับอาร์กิวเมนต์ทางเลือก

โหมดการทำงาน:

-h, --help

แสดงวิธีใช้นี้และออก

-V, --version

ข้อมูลเวอร์ชันเอาต์พุตและออก

--print-localedir

ไดเร็กทอรีเอาต์พุตที่มีข้อมูลขึ้นอยู่กับโลแคลและออก

--print-datadir

ไดเร็กทอรีเอาต์พุตที่มีโครงกระดูกและ XSLT และออก

-u, --update

ใช้การแก้ไขกับไฟล์ไวยากรณ์ต้นทางและออก

-f, --feature[=FEATURES]

เปิดใช้งานคุณสมบัติเบ็ดเตล็ด

FEATURES คือรายการของคำที่คั่นด้วยเครื่องหมายจุลภาคซึ่งอาจรวมถึง:

caret, diagnostics-show-caret

แสดงข้อผิดพลาดด้วยเครื่องหมายรูปหมวก

fixit, diagnostics-parseable-fixits

แสดงการแก้ไขที่เครื่องอ่านได้

syntax-only

อย่าสร้างไฟล์ใด ๆ

all

ทั้งหมดข้างต้น

none

ปิดการใช้งานทั้งหมดข้างต้น

การวินิจฉัย:

-W, --warnings[=CATEGORY]

รายงานคำเตือนที่อยู่ใน CATEGORY

--color[=WHEN]

ไม่ว่าจะปรับสีการวินิจฉัย

--style=FILE

ระบุไฟล์ CSS สำหรับการวินิจฉัย colorizer

หมวดหมู่คำเตือน ได้แก่:

conflicts-sr

ข้อขัดแย้ง S/R (เปิดใช้งานโดยค่าเริ่มต้น)

conflicts-rr

ความขัดแย้ง R/R (เปิดใช้งานโดยค่าเริ่มต้น)

counterexamples, cex

สร้างตัวอย่างความขัดแย้ง

dangling-alias

นามแฝงสตริงไม่ได้แนบกับสัญลักษณ์

deprecated

โครงสร้างล้าสมัย

empty-rule

กฎว่างโดยไม่มี %empty

midrule-values

ไม่ได้ตั้งค่าหรือค่ากลางที่ไม่ได้ใช้

precedence

ลำดับความสำคัญและการเชื่อมโยงที่ไร้ประโยชน์

yacc

ความเข้ากันไม่ได้กับ POSIX Yacc

other

คำเตือนอื่นๆ ทั้งหมด (เปิดใช้งานโดยค่าเริ่มต้น)

all

คำเตือนทั้งหมดยกเว้น 'counterexamples', 'dangling-alias' และ 'yacc'

no-CATEGORY

ปิดคำเตือนใน CATEGORY

none

ปิดคำเตือนทั้งหมด

error[=CATEGORY]

ถือว่าคำเตือนเป็นข้อผิดพลาด

เมื่อสามารถเป็นหนึ่งในสิ่งต่อไปนี้:

always, yes

ปรับสีเอาต์พุต

never, no

อย่าทำให้เอาต์พุตเป็นสี

auto, tty

colorize ถ้าอุปกรณ์ส่งออกเป็น tty

ปรับแต่ง Parser:

-L, --language=LANGUAGE

ระบุภาษาโปรแกรมเอาต์พุต

-S, --skeleton=FILE

ระบุโครงกระดูกที่จะใช้

-t, --debug

เครื่องมือ parser สำหรับการติดตามเหมือนกับ '-Dparse.trace'

--locations

เปิดใช้งานการสนับสนุนตำแหน่ง

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

คล้ายกับ '%define NAME VALUE'

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

แทนที่ '%define NAME VALUE'

-p, --name-prefix=PREFIX

เพิ่มคำนำหน้าเป็นสัญลักษณ์ภายนอกที่เลิกใช้โดย '-Dapi.prefix={PREFIX}'

-l, --no-lines

อย่าสร้างคำสั่ง '#line'

-k, --token-table

รวมตารางชื่อโทเค็น

-y, --yacc

เลียนแบบ POSIX Yacc

ไฟล์เอาต์พุต:

-H, --header=[FILE]

ยังสร้างไฟล์ส่วนหัว

-d

เช่นเดียวกัน แต่ไม่สามารถระบุ FILE ได้ (สำหรับ POSIX Yacc)

-r, --report=THINGS

ยังสร้างรายละเอียดเกี่ยวกับหุ่นยนต์

--report-file=FILE

เขียนรายงานไปยัง FILE

-v, --verbose

เหมือนกับ '--report=state'

-b, --file-prefix=PREFIX

ระบุคำนำหน้าสำหรับไฟล์เอาต์พุต

-o, --output=FILE

ปล่อยให้ผลลัพธ์เป็น FILE

-g, --graph[=FILE]

แสดงผลกราฟของหุ่นยนต์ด้วย

--html[=FILE]

ออกรายงาน HTML ของหุ่นยนต์ด้วย

-x, --xml[=FILE]

ยังส่งออกรายงาน XML ของหุ่นยนต์

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

ในไฟล์เอาต์พุต

THINGS คือรายการของคำที่คั่นด้วยเครื่องหมายจุลภาคซึ่งอาจรวมถึง:

states

อธิบายสถานะ

itemsets

เสร็จสิ้นชุดรายการหลักด้วยการปิด

lookaheads

เชื่อมโยงโทเค็น lookahead กับรายการอย่างชัดเจน

solved

อธิบายการเปลี่ยนแปลง/ลดความขัดแย้ง

counterexamples, cex

สร้างตัวอย่างความขัดแย้ง

all

รวมข้อมูลทั้งหมดข้างต้น

none

ปิดใช้งานรายงาน

ผู้เขียน

เขียนโดย Robert Corbett และ Richard Stallman

ข้อบกพร่องในการรายงาน

รายงานจุดบกพร่องไปที่ bug-bison@gnu.org.
หน้าแรกของ GNU Bison: https://www.gnu.org/software/bison/.
ความช่วยเหลือทั่วไปในการใช้ซอฟต์แวร์ GNU: https://www.gnu.org/gethelp/.
สำหรับเอกสารฉบับสมบูรณ์ ให้เรียกใช้: info bison

ลิขสิทธิ์

ลิขสิทธิ์ © 2021 Free Software Foundation, Inc.
นี่เป็นซอฟต์แวร์ฟรี ดูแหล่งที่มาสำหรับเงื่อนไขการคัดลอก ไม่มีการรับประกัน ไม่แม้แต่สำหรับการค้าหรือความเหมาะสมสำหรับวัตถุประสงค์เฉพาะ

ดูสิ่งนี้ด้วย

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.