bison - hướng dẫn tham khảo, tùy chọn, ví dụ về lệnh


TÊN

bison - Trình tạo trình phân tích cú pháp dự án GNU (thay thế yacc)

TÓM TẮT

bison [OPTION]... FILE

SỰ MIÊU TẢ

Bison là trình tạo trình phân tích cú pháp theo kiểu yacc(1). Nó phải tương thích trở lên với các tệp đầu vào được thiết kế cho yacc.

Tệp đầu vào phải tuân theo quy ước yacc kết thúc bằng .y. Không giống như yacc, các tệp được tạo không có tên cố định mà thay vào đó sử dụng tiền tố của tệp đầu vào. Ngoài ra, nếu bạn cần đặt mã C++ vào tệp đầu vào, bạn có thể kết thúc tên của anh ấy bằng phần mở rộng giống như C++ (.ypp hoặc .y++), sau đó bò rừng sẽ theo phần mở rộng của bạn để đặt tên cho đầu ra tệp (.cpp hoặc .c++). Ví dụ: tệp mô tả ngữ pháp có tên parse.yxx sẽ tạo trình phân tích cú pháp được tạo trong tệp có tên parse.tab.cxx, thay vì yacc của y.tab.c hoặc phiên bản Bison cũ của parse.tab.c.

Mô tả về các tùy chọn có thể cung cấp cho bison này được điều chỉnh từ nút Yêu cầu trong hướng dẫn sử dụng bison.texi, nên được coi là có thẩm quyền.

Bison hỗ trợ cả tùy chọn một chữ cái truyền thống và tên tùy chọn dài dễ nhớ. Tên tùy chọn dài được biểu thị bằng -- thay vì -. Chữ viết tắt cho tên tùy chọn được cho phép miễn là chúng là duy nhất. Khi một tùy chọn dài nhận một đối số, chẳng hạn như --tiền tố tệp, hãy kết nối tên tùy chọn và đối số với =.

Tạo trình phân tích cú pháp LR xác định hoặc trình phân tích cú pháp LR (GLR) tổng quát bằng cách sử dụng các bảng trình phân tích cú pháp LR(1) chính tắc.

Đối số bắt buộc đối với các tùy chọn dài cũng bắt buộc đối với các tùy chọn ngắn. Điều này cũng đúng với các đối số tùy chọn.

Chế độ hoạt động:

-h, --help

hiển thị trợ giúp này và thoát

-V, --version

xuất thông tin phiên bản và thoát

--print-localedir

thư mục đầu ra chứa dữ liệu phụ thuộc vào ngôn ngữ và thoát

--print-datadir

thư mục đầu ra chứa bộ xương và XSLT và thoát

-u, --update

áp dụng các bản sửa lỗi cho tệp ngữ pháp nguồn và thoát

-f, --feature[=FEATURES]

kích hoạt các tính năng linh tinh

TÍNH NĂNG là danh sách các từ được phân tách bằng dấu phẩy có thể bao gồm:

caret, diagnostics-show-caret

hiển thị lỗi với dấu mũ

fixit, diagnostics-parseable-fixits

hiển thị các bản sửa lỗi mà máy có thể đọc được

syntax-only

không tạo ra bất kỳ tập tin

all

tất cả những điều trên

none

vô hiệu hóa tất cả những điều trên

chẩn đoán:

-W, --warnings[=CATEGORY]

báo cáo các cảnh báo rơi vào THỂ LOẠI

--color[=WHEN]

có nên tô màu chẩn đoán hay không

--style=FILE

chỉ định CSS FILE cho chẩn đoán colorizer

Các loại cảnh báo bao gồm:

conflicts-sr

Xung đột S/R (được bật theo mặc định)

conflicts-rr

Xung đột R/R (được bật theo mặc định)

counterexamples, cex

tạo ra các phản ví dụ xung đột

dangling-alias

bí danh chuỗi không được đính kèm với một ký hiệu

deprecated

cấu trúc lỗi thời

empty-rule

quy tắc trống không có %empty

midrule-values

các giá trị quy tắc giữa không được đặt hoặc không được sử dụng

precedence

ưu tiên vô ích và tính kết hợp

yacc

không tương thích với POSIX Yacc

other

tất cả các cảnh báo khác (được bật theo mặc định)

all

tất cả các cảnh báo ngoại trừ 'phản ví dụ', 'dangling-alias' và 'yacc'

no-CATEGORY

tắt cảnh báo trong CATEGORY

none

tắt tất cả các cảnh báo

error[=CATEGORY]

coi cảnh báo là lỗi

WHEN có thể là một trong những điều sau đây:

always, yes

tô màu đầu ra

never, no

không tô màu đầu ra

auto, tty

tô màu nếu thiết bị đầu ra là tty

Điều chỉnh trình phân tích cú pháp:

-L, --language=LANGUAGE

chỉ định ngôn ngữ lập trình đầu ra

-S, --skeleton=FILE

chỉ định bộ xương để sử dụng

-t, --debug

công cụ phân tích cú pháp để theo dõi giống như '-Dparse.trace'

--locations

bật hỗ trợ vị trí

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

tương tự như '%define NAME VALUE'

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

ghi đè '%define NAME VALUE'

-p, --name-prefix=PREFIX

thêm PREFIX vào các ký hiệu bên ngoài không được dùng nữa bởi '-Dapi.prefix={PREFIX}'

-l, --no-lines

không tạo chỉ thị '#line'

-k, --token-table

bao gồm một bảng tên mã thông báo

-y, --yacc

mô phỏng POSIX Yacc

Tập tin đầu ra:

-H, --header=[FILE]

cũng tạo ra một tập tin tiêu đề

-d

tương tự như vậy nhưng không thể chỉ định TẬP TIN (cho POSIX Yacc)

-r, --report=THINGS

cũng sản xuất các chi tiết trên máy tự động

--report-file=FILE

ghi báo cáo vào FILE

-v, --verbose

giống như '--report=state'

-b, --file-prefix=PREFIX

chỉ định PREFIX cho các tệp đầu ra

-o, --output=FILE

để lại đầu ra cho FILE

-g, --graph[=FILE]

cũng xuất ra một biểu đồ của máy tự động

--html[=FILE]

cũng xuất ra một báo cáo HTML của máy tự động

-x, --xml[=FILE]

cũng xuất ra một báo cáo XML của máy tự động

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

trong tập tin đầu ra

THINGS là danh sách các từ được phân tách bằng dấu phẩy có thể bao gồm:

states

mô tả các trạng thái

itemsets

hoàn thành các bộ vật phẩm cốt lõi với phần đóng của chúng

lookaheads

liên kết rõ ràng mã thông báo tìm kiếm với các mục

solved

mô tả sự thay đổi/giảm xung đột giải quyết

counterexamples, cex

tạo ra các phản ví dụ xung đột

all

bao gồm tất cả các thông tin trên

none

vô hiệu hóa báo cáo

TÁC GIẢ

Viết bởi Robert Corbett và Richard Stallman.

BÁO CÁO LỖI

Báo cáo lỗi cho .
Trang chủ GNU Bison: .
Trợ giúp chung khi sử dụng phần mềm GNU: .
Để có tài liệu đầy đủ, hãy chạy: info bison.

BẢN QUYỀN

Bản quyền © 2021 Free Software Foundation, Inc.
Đây là phần mềm miễn phí; xem nguồn để biết điều kiện sao chép. KHÔNG có bảo hành; thậm chí không vì KHẢ NĂNG BÁN ĐƯỢC hoặc SỰ PHÙ HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ.

XEM THÊM

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.