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
lex(1), flex(1), yacc(1).

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