Tiếng AnhTiếng PhápTiếng Tây Ban Nha

Ad


Biểu tượng yêu thích OnWorks

genparse - Trực tuyến trên đám mây

Chạy genparse trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks trên Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

Đây là genparse lệnh có thể được chạy trong nhà cung cấp dịch vụ lưu trữ miễn phí OnWorks bằng cách sử dụng một trong nhiều máy trạm trực tuyến miễn phí của chúng tôi như Ubuntu Online, Fedora Online, trình giả lập trực tuyến Windows hoặc trình mô phỏng trực tuyến MAC OS

CHƯƠNG TRÌNH:

TÊN


genparse - trình tạo phân tích cú pháp dòng lệnh

SYNOPSIS


genparse [lựa chọn] các tập tinhữu ích. Cảm ơn !

MÔ TẢ


genparse là một trình tạo phân tích cú pháp dòng lệnh chung. Từ đơn giản và ngắn gọn
tập tin đặc tả, bạn có thể xác định các tham số dòng lệnh và chuyển đổi mà bạn muốn
muốn có thể vượt qua chương trình của bạn. Genparse tạo mã C, C ++ hoặc Java của
phân tích cú pháp cho bạn.

Genparse giả định rằng GNU getopt_long(3) hàm được tích hợp trong thư viện C của bạn. Vì
Java, bạn có thể phải chỉ định một tệp jar thích hợp cho trình biên dịch Java của mình.

LỰA CHỌN


genparse chấp nhận các tùy chọn này:

-c, --cppext mở rộng
Phần mở rộng tệp C ++. (mặc định = cc)

-d Bật ghi nhật ký.

-f, --logfile tên
Tên tệp nhật ký. (default = genparse.log)

-h, --Cứu giúp
Hiển thị thông tin trợ giúp.

-g, --gnulib
Sử dụng Thư viện Tương thích GNU (Gnulib, xem http://www.gnu.org/software/gnulib/).
Chỉ có sẵn cho đầu ra C. Cho phép một số loại khác (unsigned long, intmax_t, v.v.)
mà Gnulib cung cấp các chức năng chuyển đổi.

-i, - quốc tế hóa
Đặt macro quốc tế hóa _ () xung quanh đầu ra văn bản để chương trình được tạo
có thể được quốc tế hóa bằng lệnh GNU gettext. Hiện chỉ được triển khai
cho đầu ra C.

-l, --ngôn ngữ lang
Ngôn ngữ đầu ra. Chỉ C, C ++ và Java được hỗ trợ. Bất kỳ điều nào sau đây
cho biết C ++: "c ++", "cpp", "cc" và "cxx". Để sử dụng Java: "java" hoặc "Java".
(mặc định = c)

-o, --outfile tên
Tên tệp xuất ra. (default = parse_cl)

-m, --thành viên lâu năm
Sử dụng các tùy chọn dài cho các thành viên của lớp phân tích cú pháp (struct). Mặc định là
sử dụng đại diện ngắn trừ khi chỉ có một đại diện dài được xác định
trong tệp genparse. Nếu tùy chọn này được đặt thì hành vi sẽ được hoàn nguyên. Các
đại diện dài được sử dụng sau đó ngoại trừ nếu chỉ có một đại diện ngắn
xác định.

-o, --outfile tên tập tin
Tên gốc của tệp đầu ra. Phần mở rộng sẽ được xác định bởi ngôn ngữ đầu ra
và có thể bằng các tùy chọn khác. Ví dụ: khi ngôn ngữ đầu ra là C,
tùy chọn này một đối số của "tệp" sẽ dẫn đến tên tệp đầu ra là "tệp.h",
"file.c" và "file_cb.c" cho các tệp tiêu đề, trình phân tích cú pháp và gọi lại, tương ứng.
Giá trị mặc định là "parse_cl".

-p, --parsefunc chức năng
Tên của hàm / lớp phân tích cú pháp. Tùy chọn này cho phép người dùng chỉ định tên
của hàm (đối với C) hoặc lớp (đối với C ++ và Java) thực hiện lệnh thực
phân tích cú pháp dòng (mặc định = "Cmdline").

-P, - nhiều dấu ấn
Xuất văn bản trợ giúp cho mọi tham số dòng lệnh trong một lệnh in riêng biệt.

-q, --Yên lặng
Chế độ im lặng - không có trên đầu ra màn hình.

-s, - tiêu đề tĩnh
Giữ tiêu đề mô tả trên đầu các tệp được tạo tĩnh. Không có cái này
tùy chọn genparse print ngày và giờ tạo, phiên bản hạt nhân Linux, bản dựng hạt nhân
thời gian, tên kiến ​​trúc máy tính, tên máy chủ và tên người dùng.

-v, --phiên bản
Phiên bản đầu ra.

-D, --danh mục
Thư mục lưu trữ kết quả.

ĐẦU VÀO FILE


Một tệp đặc tả genparse (thường chỉ được gọi là 'tệp genparse') bao gồm một số
trong tổng số các mục nhập, một mục cho mỗi tham số dòng lệnh, có dạng:

tên ngắn gọn[* |!] [/ tên dài[* |!] [=opt_name]] kiểu [ lựa chọn ]

A tên ngắn là một ký tự đơn (nhỏ hoặc viết hoa) hoặc một chữ số. tên dài là một
tên tùy chọn dài hơn (mô tả hơn). Trên dòng lệnh, một tên ngắn sẽ được đặt trước
bởi một dấu gạch ngang (ví dụ: '-a') và một phiên bản dài sẽ được bắt đầu bằng hai dấu gạch ngang (ví dụ:
'--tất cả các'). Nếu tên tham số dài là không cần thiết, bạn chỉ có thể chỉ định tên tham số ngắn
(và dấu gạch chéo không cần xuất hiện). Để chỉ định một tham số chỉ có
đặt tên tên ngắn gọn đến NONE. Có thể có nhiều tùy chọn ngắn, vì vậy
thiết lập ví dụ tên ngắn thành 'aA' và tên dài thành 'tất cả' sẽ cho phép chỉ định
chuyển dòng lệnh thành '-a' hoặc '-A' hoặc '- tất cả', tất cả chúng đều thực hiện tương tự.

A * sau khi tên ngắn or tên dài làm cho đối số là tùy chọn. Điều này có thể được chỉ định cho
tùy chọn ngắn và dài riêng biệt.

A ! sau khi tên ngắn or tên dài làm cho tùy chọn boolean. Điều này cho phép người ta kết hợp một
tùy chọn boolean ngắn với tùy chọn dài với đối số tùy chọn hoặc bắt buộc hoặc để
kết hợp một tùy chọn dài boolean với một tùy chọn ngắn với một đối số tùy chọn hoặc bắt buộc.
A ! không có ý nghĩa nếu loại của tùy chọn là cờ.

kiểu phải là một trong số int phao xe tăng chuỗi or cờ. Bốn điều đầu tiên nên tự
giải thích. Cuối cùng là tùy chọn "chuyển đổi" không có đối số. Đối với đầu ra C và nếu
--gnulib được đặt trên dòng lệnh, các loại sau được phép: Dài
(đối với int dài), dài (đối với int dài không dấu), intmax (đối với intmax_t, được định nghĩa trong Gnulib),
uintmax (đối với uintmax_t), tăng gấp đôi.

Sau đây lựa chọn được hỗ trợ. Chúng có thể xuất hiện theo bất kỳ thứ tự nào và ngoại trừ
thiệu chỉ một trong mỗi trường có thể được xác định cho mỗi tùy chọn.

A mặc định giá trị cho tham số. Đối với một chuỗi, đây chỉ là mặc định đơn giản
giá trị, bất kể nó là gì. Đối với chuỗi, mặc định phải được chỉ định trong dấu ngoặc nhọn và
dấu ngoặc kép và có thể bao gồm khoảng trắng, ví dụ: {"giá trị mặc định của tôi"}. Đối với một char
tham số này phải được đặt trong dấu nháy đơn, ví dụ: 'a' hoặc '\ n'.

A phạm vi của các giá trị trong ngoặc. Các giá trị thấp và cao được chỉ định giữa một
chỉ định phạm vi (hoặc '...' hoặc '..'). Giá trị cao hoặc thấp có thể là
bị bỏ qua cho một phạm vi chỉ giới hạn ở một phía. Tham số sẽ được kiểm tra để
đảm bảo rằng nó nằm trong phạm vi này.

A gọi lại chức năng. Hàm này được gọi sau khi bất kỳ kiểm tra phạm vi nào là
đã thực hiện. Mục đích của lệnh gọi lại để kiểm tra tính hợp lệ, đó là
phức tạp hơn có thể được chỉ định trong tệp genparse. Ví dụ, bạn có thể
viết một chương trình yêu cầu đầu vào là số nguyên tố, chuỗi của một số
chiều dài, v.v.

A Mô tả trong dấu ngoặc kép. Nó được in bởi sử dụng() hàm số. Nếu một
dòng là không đủ thì hãy chỉ định nhiều mô tả, một mô tả trên mỗi dòng và mỗi mô tả
chúng trong dấu ngoặc kép. Nếu mô tả bắt đầu ở cột đầu tiên trong Genparse
sau đó nó cũng sẽ được in ở cột đầu tiên trong sử dụng() chức năng.

A #gp_include chỉ thị sẽ hướng dẫn genparse bao gồm một tệp genparse khác,
ví dụ #gp_include other.gp. Chỉ các định nghĩa tham số được phép trong bao gồm
tệp, không có chỉ thị chung.

An __ERR_MSG __ (err_txt) chỉ thị. Chỉ định thông báo lỗi được in
khi không thể chuyển đổi đối số. Thí dụ: __ERR_MSG __ ("% s: không hợp lệ
tranh luận"). Thông báo này sẽ được in khi một trong hai chức năng chuyển đổi
không thành công hoặc khi đối số nằm ngoài phạm vi. Giả sử chứa một %s cái nào sẽ
được thay thế bằng agrument không thể chuyển đổi. Chỉ khả dụng khi
Genparse được gọi bằng --gnulib, bỏ qua nếu không.

Tùy ý, một hàm chuyển đổi có thể được thêm vào làm đối số thứ hai, ví dụ:
__ERR_MSG __ ("% s: không hợp lệ tranh luận", trích dẫn). Điều này sẽ dẫn đến một thông báo lỗi
Lượt thích lôi (EXIT_FAILURE, 0, "%NS: không hợp lệ tranh luận", trích dẫn (chọn)).

An __ADD_FLAG__ chỉ thị. Chỉ có ý nghĩa nếu tham số dòng lệnh không phải là
đã là một cờ, trong trường hợp này, một tham số cờ bổ sung được thêm vào sẽ là
đặt nếu tham số dòng lệnh được chỉ định trên dòng lệnh. Tùy chọn này
được đặt tự động nếu một tham số có đối số tùy chọn.

A __CODE __ (câu lệnh) chỉ thị. Các câu lệnh mã đã chỉ định được sao chép
theo đúng nghĩa đen. Thí dụ: __CODE __ (printf ("Tham số x bộ");). Mã được chỉ định
có thể kéo dài hơn một dòng. Để cho Genparse cơ hội
thụt lề mã đúng cách, không trộn lẫn khoảng cách và thụt lề tab trong một __MÃ SỐ__
tuyên bố.

A __STORE_LONGINDEX__ chỉ thị. Hướng dẫn Genparse thêm một trường loại xung kích
vào lớp kết quả sẽ được đặt thành biến longindex (đối số cuối cùng trong
lệnh gọi tới @code {getopt_long ()}). Trường mới này sẽ có cùng tên với
trường kết quả nó liên quan đến nhưng với một _li hậu tố.

Sau đây toàn cầu chỉ thị được hỗ trợ. Chúng có thể xuất hiện theo bất kỳ thứ tự nào.

An #include chỉ thị sẽ hướng dẫn genparse sao chép câu lệnh bao gồm đã nói
vào mã C hoặc C ++ được tạo bởi genparse, nhưng không phải bất kỳ tệp tiêu đề hoặc lệnh gọi lại nào
các tập tin.

A #bắt buộc Chỉ thị có thể được sử dụng nó làm cho các cuộc gọi hàm use () đẹp hơn. Nó cho phép
bạn chỉ định các tham số dòng lệnh bắt buộc có thể tuân theo các công tắc. Ghi chú
rằng Genparse không kiểm tra các thông số bắt buộc, chúng chỉ được in trong
sử dụng () chức năng với __BẮT BUỘC__ Chỉ thị. Không được chấp nhận: thêm vào bắt buộc
thông số in các #sử dụng phần thay thế.

An #exit_value chỉ thị chỉ định giá trị thoát trong trường hợp có lỗi.
Mặc định là EXIT_FAILURE.

A #break_lines chỉ thị chỉ định chiều rộng mà các dòng sẽ bị phá vỡ
trên màn hình trợ giúp. Nếu không #break_lines chỉ thị được chỉ định thì các dòng sẽ
được in chính xác như được cung cấp trong tệp genparse.

If #no_struct được chỉ định thì sẽ không có cấu trúc nào được xác định mà sẽ được lấp đầy bởi
các tham số dòng lệnh trong trình phân tích cú pháp đã tạo. Điều này có thể hữu ích nếu bạn
muốn thêm mã của riêng bạn với __MÃ SỐ__ các câu lệnh thay thế. Chỉ hỗ trợ cho C
đầu ra.

A #export_long_options chỉ thị. Nếu như #export_long_options được xác định sau đó a
chức năng #get_long_options () được thêm vào để xuất mảng longoptions được sử dụng bởi
#getopt_long (). Chỉ thị này chỉ có sẵn cho đầu ra C, cho các ngôn ngữ khác
nó bị bỏ qua.

A toàn cầu gọi lại chức năng. Chức năng này rất hữu ích để kiểm tra sự phụ thuộc lẫn nhau
giữa các tham số. Không thể kiểm tra sự phụ thuộc lẫn nhau trong mỗi cá nhân
hàm gọi lại bởi vì thứ tự mà các hàm này sẽ được gọi là khác nhau,
tùy thuộc vào thứ tự của các tham số trên dòng lệnh.

Genparse cũng tạo ra một sử dụng() hàm in ra một văn bản trợ giúp để nói về
việc sử dụng chương trình mà Genparse đang tạo trình phân tích cú pháp. Nó có thể được tùy chỉnh bởi
chỉ định một phần sử dụng ở cuối tệp Genparse. Nếu không có phần như vậy là
đã chỉ định nó mặc định thành

#usage_start
sử dụng: __PROGRAM_NAME__ __OPTIONS_SHORT__ __MANDATORIES__
__BẢNG CHÚ GIẢI__
#sử dụng_kết thúc

Phần sử dụng bắt đầu bằng #usage_start và kết thúc bằng #sử dụng_kết thúc. Bất kỳ văn bản nào giữa là
được in nguyên văn ngoại trừ các từ khóa sau, sẽ được thay thế như được liệt kê
dưới đây:

__TÊN CHƯƠNG TRÌNH__: Tên chương trình. Trong C và C ++, tên chương trình được đưa ra trong
argv [0].

__OPTIONS_SHORT__: Danh sách các tùy chọn biểu mẫu ngắn có sẵn, ví dụ: [-abc].

__BẮT BUỘC__: Danh sách tất cả các tham số bắt buộc như được xác định với #mandatory
lệnh. Không được chấp nhận: Danh sách bắt buộc thông số tại đây trực tiếp.

__BẢNG CHÚ GIẢI__: Mô tả tất cả các tùy chọn dòng lệnh. Đây là thông tin
cho tham số definitons ở dạng con người có thể đọc được. Nó bao gồm
loại tham số, mặc định, phạm vi và bất kỳ nhận xét nào. Một dòng chứa
__BẢNG CHÚ GIẢI__ được thay thế bằng bảng thuật ngữ của các tham số, bất kỳ văn bản nào khác trong
cùng một dòng bị bỏ qua.

__GLOSSARY_GNU__: Giống như __BẢNG CHÚ GIẢI__ nhưng theo kiểu GNU. Tùy chọn theo sau bởi một
số nguyên trong dấu ngoặc chỉ định thụt lề của văn bản mô tả (ví dụ:
__BẢNG CHÚ GIẢI__(30)). Thụt lề mặc định là 24.

__Dây): Một hằng số chuỗi, trong C có thể là một macro chuỗi được xác định với
#define lệnh tiền xử lý. Macro này có thể được nhập từ một tệp khác bằng cách sử dụng
chỉ thị include trong tệp genparse. Bỏ qua khi tạo đầu ra Java.

__INT __ (x): Một hằng số nguyên, trong C có thể là một macro số nguyên được xác định với
#define lệnh tiền xử lý. Macro này có thể được nhập từ một tệp khác bằng cách sử dụng
chỉ thị include trong tệp genparse. Bỏ qua khi tạo đầu ra Java.

__CODE __ (câu lệnh): Tương tự như đối với các tùy chọn tham số, xem ở trên.

__DO_NOT_DOCUMENT__: Bất kỳ dòng nào chứa macro này sẽ không được in trong
sử dụng() hàm số. Có thể được sử dụng để triển khai các tham số dòng lệnh mà không cần
liệt kê chúng trên màn hình trợ giúp.

__NL__: Dòng mới. Hữu ích cho việc ngắt dòng theo cách thủ công trong khi ngắt dòng tự động
đang bật (xem #break_lines). Bỏ qua khi tạo đầu ra Java.

__NEW_PRINT__: Đóng lệnh in hiện hoạt và bắt đầu lệnh mới.

__COMMENT __ (văn bản): Nhận xét trong mã để in văn bản sử dụng.

các tùy chọn dài có thể được theo sau bởi một dấu = và một ký hiệu tùy chọn opt_name mà có thể
được đề cập trong mô tả sau đây. Nó sẽ được sử dụng trong sử dụng() chức năng
chỉ một. Ví dụ dòng genparse sau

s / block-size = SIZE int "sử dụng khối SIZE-byte"

sẽ dẫn đến dòng sau trong màn hình trợ giúp

[-s] [--block-size = SIZE] (type = INTEGER)
sử dụng khối SIZE-byte

theo phong cách genparse (__BẢNG CHÚ GIẢI__) hoặc

-s, --block-size = SIZE sử dụng khối SIZE-byte

theo kiểu GNU (__GLOSSARY_GNU__).

Cũng có thể đặt dấu ngoặc vuông xung quanh tên tùy chọn để biểu thị
rằng đối số là tùy chọn. Tuy nhiên, điều này không có ý nghĩa đối với trình phân tích cú pháp đã tạo. Sử dụng
* hậu tố để tạo một đối số là tùy chọn.

s * / block * [= SIZE] int "sử dụng các khối."
"Nếu SIZE không được cung cấp thì họ sẽ nhận được kích thước là 1kB."

sẽ dẫn đến dòng sau trong màn hình trợ giúp

-s, --block [= SIZE] sử dụng các khối.
Nếu SIZE không được cung cấp thì chúng sẽ có kích thước là 1kB.

THÍ DỤ


Đây là một tệp genparse mẫu:

#bao gồm

/* bình luận */
my_callback ()

i / lần lặp int 100 [10 ... 1000] iter_callback ()
"Số lần lặp lại để chạy."

/*
* Bình luận
*/

n / chuỗi tên {"mike"} name_cb () "Tên người dùng"
s / str chuỗi "chuỗi thử nghiệm"
f Flag "một lá cờ ngu ngốc!"

#usage_start
sử dụng: __PROGRAM_NAME__ __OPTIONS_SHORT__ tên tệp
Đây chỉ là một chương trình thử nghiệm ngu ngốc.
__BẢNG CHÚ GIẢI__
#sử dụng_kết thúc

Sử dụng genparse trực tuyến bằng các dịch vụ onworks.net


Máy chủ & Máy trạm miễn phí

Tải xuống ứng dụng Windows & Linux

Lệnh Linux

  • 1
    2 đến 3-3.5
    2 đến 3-3.5
    2to3-3.3 - Công cụ chuyển đổi Python2 sang Python3
    hữu ích. Cảm ơn !
    Chạy 2to3-3.5
  • 2
    2to3
    2to3
    2to3-2.7 - Công cụ chuyển đổi Python2 sang Python3
    hữu ích. Cảm ơn !
    Chạy 2to3
  • 3
    cpqarrayd
    cpqarrayd
    cpqarrayd - Bộ điều khiển mảng
    giám sátdaemon CỐ ĐỊNH: cpqarrayd [-d]
    [-v] [-t máy chủ [-t máy chủ]] MÔ TẢ:
    Chương trình này có khả năng giám sát HP
    (Compaq) sắp xếp...
    Chạy cpqarrayd
  • 4
    cproto
    cproto
    cproto - tạo nguyên mẫu hàm C
    và chuyển đổi các định nghĩa hàm ...
    Chạy cproto
  • 5
    gbbin
    gbbin
    gbbin - Một chương trình chuyển đổi dữ liệu...
    Chạy gbbin
  • 6
    gbboot
    gbboot
    gbboot - Dữ liệu do người dùng Bootstrap cung cấp ...
    Chạy gbboot
  • Khác »

Ad