BISON(1) | Các câu lệnh | BISON(1) |
TÊN¶
bison - GNU Project parser generator (yacc replacement)
TÓM TẮT¶
bison [TÙY_CHỌN]… TẬP_TIN
MÔ TẢ¶
Bison is a parser generator in the style of yacc(1). It should be upwardly compatible with input files designed for yacc.
Input files should follow the yacc convention of ending in .y. Unlike yacc, the generated files do not have fixed names, but instead use the prefix of the input file. Moreover, if you need to put C++ code in the input file, you can end his name by a C++-like extension (.ypp or .y++), then bison will follow your extension to name the output file (.cpp or .c++). For instance, a grammar description file named parse.yxx would produce the generated parser in a file named parse.tab.cxx, instead of yacc's y.tab.c or old Bison version's parse.tab.c.
This description of the options that can be given to bison is adapted from the node Invocation in the bison.texi manual, which should be taken as authoritative.
Bison supports both traditional single-letter options and mnemonic long option names. Long option names are indicated with -- instead of -. Abbreviations for option names are allowed as long as they are unique. When a long option takes an argument, like --file-prefix, connect the option name and the argument with =.
Tạo ra một bộ phân tích tất định LR hay RL được khái quát hóa dùng bảng phân tích LALR(1), IELR(1), hay canonical LR(1).
Mọi đối số bắt buộc phải sử dụng với tùy chọn dài cũng bắt buộc với tùy chọn ngắn. Cũng yêu cầu như thế đối với đối số tùy chọn.
Chế độ thao tác:¶
- -h, --help
- hiển thị trợ giúp này rồi thoát
- -V, --version
- đưa ra thông tin phiên bản rồi thoát
- --print-localedir
- xuất thư mục chứa dữ liệu phụ thuộc vào miền địa phương
- --print-datadir
- output directory containing skeletons and XSLT and exit
- -u, --update
- apply fixes to the source grammar file and exit
- -f, --feature[=TÍNH-NĂNG]
- kích hoạt các TÍNH-NĂNG
TÍNH-NĂNG là một danh sách các từ cách nhau bằng dấu phẩy, bao gồm:¶
- caret, diagnostics-show-caret
- hiển thị lỗi bằng dấu ^
- fixit, diagnostics-parseable-fixits
- show machine-readable fixes
- syntax-only
- do not generate any file
- all
- tất cả các thứ ở trên
- none
- tắt tất cả các thứ ở trên
Diagnostics:¶
- -W, --warnings[=CATEGORY]
- report the warnings falling in CATEGORY
- --color[=KHI]
- whether to colorize the diagnostics
- --style=TẬP_TIN
- specify the CSS FILE for colorizer diagnostics
Các kiểu cảnh báo bao gồm:¶
- conflicts-sr
- xung đột S/R (bật theo mặc định)
- conflicts-rr
- xung đột R/R (bật theo mặc định)
- counterexamples, cex
- generate conflict counterexamples
- dangling-alias
- string aliases not attached to a symbol
- deprecated
- các chỉ lệnh cũ
- empty-rule
- quy tắc rỗng không cần %empty
- midrule-values
- unset or unused midrule values
- precedence
- quyền ưu tiên và tính kết hợp vô ích
- yacc
- incompatibilities with POSIX Yacc
- khác
- mọi cảnh báo khác (bật theo mặc định)
- all
- tất cả các cảnh báo ngoại trừ “yacc”, “dangling-alias”, “yacc”
- no-LOẠI
- tắt cảnh báo với LOẠI
- none
- tắt mọi cảnh báo
- error[=LOẠI]
- xử lý cảnh báo dưới dạng lỗi
WHEN can be one of the following:¶
- always, yes
- colorize the output
- never, no
- don't colorize the output
- auto, tty
- colorize if the output device is a tty
Tuning the Parser:¶
- -L, --language=NGÔN_NGỮ
- chỉ định ngôn ngữ lập trình kết xuất
- -S, --skeleton=TẬP_TIN
- chỉ định khung sườn cần dùng
- -t, --debug
- instrument the parser for tracing same as '-Dparse.trace'
- --locations
- cho phép hỗ trợ về vị trí
- -D, --define=TÊN[=GIÁ_TRỊ]
- tương tự như “%define TÊN "GIÁ_TRỊ"
- -F, --force-define=TÊN[=GIÁ_TRỊ]
- đè lên “%define TÊN "GIÁ_TRỊ"”
- -p, --name-prefix=TIỀN_TỐ
- đặt tiền tố nào vào trước ký hiệu ngoài bị phản đối bởi “-Dapi.prefix=TIỀN_TỐ”
- -l, --no-lines
- không tạo chỉ thị kiểu “#line”
- -k, --token-table
- bao gồm bảng các tên thẻ bài
- -y, --yacc
- mô phỏng POSIX Yacc
Output Files:¶
- -H, --header=[TẬP_TIN]
- also produce a header file
- -d
- cũng vậy nhưng không thể chỉ định TẬP_TIN (cho POSIX Yacc)
- -r, --report=CÁI
- cũng hiện chi tiết về hàm tự động
- --report-file=TẬP_TIN
- ghi báo cáo vào tập tin này
- -v, --verbose
- tương đương với --report=state
- -b, --file-prefix=TIỀN_TỐ
- chỉ định tiền tố cho các tập tin kết xuất
- -o, --output=TẬP_TIN
- xuất vào tập tin này
- -g, --graph[=TẬP_TIN]
- cũng xuất một đồ thị về hàm tự động
- --html[=TẬP_TIN]
- cũng xuất một báo cáo HTML về hàm tự động
- -x, --xml[=TẬP_TIN]
- cũng xuất một báo cáo XML về hàm tự động
- -M, --file-prefix-map=OLD=NEW replace prefix OLD with NEW when writing file paths
- in output files
CÁI là danh sách những từ được ngăn cách bằng dấu phẩy, bao gồm:¶
- states
- diễn tả các tình trạng
- itemsets
- tập hợp mục dùng để tự điền với kết thúc nó
- lookaheads
- liên quan rõ ràng mỗi thẻ bài nhìn trước đến mục
- solved
- diễn tả việc phân giải sự xung đột kiểu dịch/giảm
- counterexamples, cex
- generate conflict counterexamples
- all
- bao gồm tất cả thông tin trên
- none
- tắt báo cáo
TÁC GIẢ¶
Tác giả: Robert Corbett và Richard Stallman.
THÔNG BÁO LỖI¶
Hãy thông báo lỗi cho
<bug-bison@gnu.org>.
Trang chủ GNU Bison: <https://www.gnu.org/software/bison/>.
Hướng dẫn chung về phần mềm GNU:
<https://www.gnu.org/gethelp/>.
Để xem toàn bộ tài liệu về
phần mềm này, hãy chạy lệnh: info
bison.
BẢN QUYỀN¶
Bản quyền © 2021 Tổ chức
Phần mềm Tự do.
Chương trình này là phần mềm
tự do; xem mã nguồn để tìm
điều kiện sao chép. KHÔNG CÓ
BẢO HÀNH GÌ CẢ, NGAY CẢ KHI NÓ
ĐƯỢC BÁN HAY PHÙ HỢP CẢ
VỚI MỤC ĐÍCH ĐẶC BIỆT.
XEM THÊM¶
Tài liệu hướng dẫn đầy đủ về bison được bảo trì dưới dạng một sổ tay Texinfo. Nếu chương trình info và bison được cài đặt đúng ở địa chỉ của bạn thì câu lệnh
- info bison
nên cho phép bạn truy cập đến toàn bộ sổ tay.
DỊCH¶
Bản dịch tiếng Việt của trang hướng dẫn này do
thực hiện.
Bản dịch này là Tài liệu Miễn phí; đọc Giấy phép Công cộng GNU Phiên bản 3 hoặc mới hơn để biết các điều khoản bản quyền. Chúng tôi cho rằng KHÔNG CÓ TRÁCH NHIỆM PHÁP LÝ.
Nếu bạn tìm thấy một số sai sót trong bản dịch của trang hướng dẫn này, vui lòng gửi thư đến TODO.
Tháng 9 năm 2021 | GNU Bison 3.8.2 |