EnglishFrenchSpanyol

Ad


Favicon OnWorks

genparse - Dalam talian di Awan

Jalankan genparse dalam penyedia pengehosan percuma OnWorks melalui Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS

Ini ialah perintah genparse yang boleh dijalankan dalam penyedia pengehosan percuma OnWorks menggunakan salah satu daripada berbilang stesen kerja dalam talian percuma kami seperti Ubuntu Online, Fedora Online, emulator dalam talian Windows atau emulator dalam talian MAC OS.

JADUAL:

NAMA


genparse - penjana parser baris arahan

SINOPSIS


genparse [pilihan] fail...

DESCRIPTION


genparse ialah penjana penghurai baris arahan generik. Daripada ringkas dan padat
spesifikasi fail, anda boleh menentukan parameter baris arahan dan suis yang anda lakukan
suka dapat lulus ke program anda. Genparse mencipta kod C, C++ atau Java bagi
parser untuk anda.

Genparse menganggap bahawa GNU getopt_long(3) fungsi dibina ke dalam perpustakaan C anda. Untuk
Java anda mungkin perlu menentukan fail balang yang sesuai untuk pengkompil Java anda.

PILIHAN


genparse menerima pilihan ini:

-c, --cpext lanjutan
Sambungan fail C++. (lalai = cc)

-d Hidupkan pembalakan.

-f, --fail log nama
Nama fail log. (lalai = genparse.log)

-h, - membantu
Paparkan maklumat bantuan.

-g, --gnulib
Gunakan Pustaka Keserasian GNU (Gnulib, lihat http://www.gnu.org/software/gnulib/).
Hanya tersedia untuk output C. Membenarkan beberapa jenis lagi (unsigned long, intmax_t dll.)
yang mana Gnulib menyediakan fungsi penukaran.

-i, --mengantarabangsakan
Letakkan makro pengantarabangsaan _() di sekitar output teks supaya program yang dihasilkan
boleh diantarabangsakan menggunakan arahan gettext GNU. Pada masa ini hanya dilaksanakan
untuk keluaran C.

-l, --bahasa lang
Bahasa keluaran. Hanya C, C++ dan Java disokong. Mana-mana yang berikut
nyatakan C++: "c++", "cpp", "cc", dan "cxx". Untuk kegunaan Java: "java" atau "Java".
(lalai = c)

-o, --fail luar nama
Nama fail keluaran. (lalai = parse_cl)

-m, --ahli lama
Gunakan pilihan panjang untuk ahli kelas parser (struct). Lalainya ialah
gunakan perwakilan pendek kecuali jika hanya terdapat perwakilan panjang yang ditakrifkan
dalam fail genparse. Jika pilihan ini ditetapkan maka tingkah laku dibalikkan. The
perwakilan panjang digunakan kemudian kecuali jika terdapat hanya perwakilan pendek
ditakrifkan.

-o, --fail luar nama fail
Nama akar fail output. Sambungan akan ditentukan oleh bahasa output
dan mungkin dengan pilihan lain. Sebagai contoh, apabila bahasa output ialah C, memberi
pilihan ini hujah "fail" akan menghasilkan nama fail output "file.h",
"file.c" dan "file_cb.c" masing-masing untuk pengepala, penghurai dan fail panggil balik.
Nilai lalai ialah "parse_cl".

-p, --parsefunc func
Nama fungsi / kelas penghuraian. Pilihan ini membolehkan pengguna menentukan nama
daripada fungsi (untuk C) atau kelas (untuk C++ dan Java) yang melakukan arahan sebenar
penghuraian baris (lalai = "Cmdline").

-P, --banyak cetakan
Output teks bantuan untuk setiap parameter baris arahan dalam arahan cetakan yang berasingan.

-q, --senyap
Mod senyap - tiada pada output skrin.

-s, --statik-kepala
Pastikan pengepala deskriptif di atas fail yang dijana statik. Tanpa ini
pilihan genparse mencetak tarikh dan masa penciptaan, versi kernel Linux, binaan kernel
masa, nama seni bina komputer, nama hos dan nama pengguna.

-v, --versi
Versi keluaran.

-D, --direktori
Direktori untuk menyimpan hasil.

INPUT FAIL


Fail spesifikasi genparse (biasanya hanya dipanggil 'fail genparse') terdiri daripada nombor
daripada entri, satu bagi setiap parameter baris arahan, dalam bentuk:

nama_pendek[*|!] [/ nama_panjang[*|!][=opt_name]] jenis [ pilihan ]

A nama pendek ialah satu aksara (kecil atau besar) atau satu digit. nama_panjang ialah
nama pilihan yang lebih panjang (lebih deskriptif). Pada baris arahan nama pendek akan didahului
dengan satu sempang (cth '-a') dan versi panjang akan didahului oleh dua sengkang (cth.
'--semua'). Jika nama parameter yang panjang tidak diperlukan, anda boleh menentukan yang pendek sahaja
(dan garis miring tidak perlu muncul). Untuk menentukan parameter yang hanya mempunyai panjang
set nama nama_pendek kepada NONE. Ia adalah mungkin untuk mempunyai beberapa pilihan pendek, jadi untuk
penetapan contoh nama pendek kepada 'aA' dan nama_panjang kepada 'semua' akan membenarkan untuk menentukan
suis baris arahan sebagai '-a' atau '-A' atau '--semua', kesemuanya melakukan perkara yang sama.

A * selepas nama pendek or nama_panjang menjadikan hujah sebagai pilihan. Ini boleh ditentukan untuk
pilihan pendek dan panjang secara berasingan.

A ! selepas nama pendek or nama_panjang menjadikan pilihan boolean. Ini membolehkan seseorang untuk menggabungkan a
pilihan pendek boolean dengan pilihan panjang dengan hujah pilihan atau mandatori atau to
menggabungkan pilihan panjang boolean dengan pilihan pendek dengan hujah pilihan atau mandatori.
A ! tidak masuk akal jika jenis pilihan adalah bendera.

jenis mesti salah satu int terapung tangki rentetan or bendera. Empat yang pertama harus menjadi diri sendiri
penerangan. Yang terakhir ialah pilihan "suis" yang tidak memerlukan hujah. Untuk keluaran C dan jika
--gnulib ditetapkan pada baris arahan tambahan pula jenis berikut dibenarkan: lama
(untuk int panjang), ulong (untuk int panjang yang tidak ditandatangani), intmax (untuk intmax_t, ditakrifkan dalam Gnulib),
uintmax (untuk uintmax_t), dua kali ganda.

Berikut pilihan disokong. Mereka mungkin muncul dalam sebarang susunan dan kecuali untuk
penerangan hanya satu daripada setiap medan boleh ditakrifkan bagi setiap pilihan.

A lalai nilai untuk parameter. Untuk rentetan ini hanyalah lalai biasa
nilai, apapun itu. Untuk rentetan, lalai mesti dinyatakan dalam pendakap dan
petikan, dan mungkin termasuk ruang kosong, cth {"nilai lalai saya"}. Untuk char
parameter itu mesti disertakan dalam petikan tunggal, cth 'a' atau '\n'.

A pelbagai nilai dalam kurungan. Nilai rendah dan tinggi ditentukan antara a
penentu julat (sama ada '...' atau '..'). Sama ada nilai tinggi atau rendah mungkin
diabaikan untuk julat yang dihadkan pada satu bahagian sahaja. Parameter akan disemak ke
pastikan ia berada dalam julat ini.

A panggil balik fungsi. Fungsi ini dipanggil selepas sebarang semakan julat adalah
dilakukan. Tujuan panggilan balik untuk melakukan semakan kesahihan adalah lebih
rumit daripada yang boleh ditentukan dalam fail genparse. Sebagai contoh, anda mungkin
tulis atur cara yang memerlukan input menjadi nombor perdana, rentetan yang tertentu
panjang, dsb.

A Penerangan dalam petikan berganda. Ia dicetak oleh penggunaan() fungsi. Jika satu
baris tidak mencukupi kemudian nyatakan berbilang perihalan, satu setiap baris dan setiap satu
mereka dalam petikan berganda. Jika penerangan bermula dalam lajur pertama dalam Genparse
fail maka ia juga akan dicetak dalam lajur pertama dalam penggunaan() fungsi.

A #gp_include arahan akan mengarahkan genparse untuk memasukkan fail genparse lain,
contohnya. #gp_include lain.gp. Hanya definisi parameter dibenarkan dalam disertakan
fail, tiada arahan global.

An __ERR_MSG__(err_txt) arahan. Menentukan mesej ralat yang dicetak
apabila hujah tidak dapat ditukar. Contoh: __ERR_MSG__("%s: tidak sah
hujah"). Mesej ini akan dicetak apabila sama ada fungsi penukaran
gagal atau apabila hujah berada di luar jangkauan. Mengandaikan mengandungi satu %s yang akan
digantikan dengan agrumen yang tidak boleh ditukar. Hanya tersedia apabila
Genparse digunakan dengan --gnulib, diabaikan sebaliknya.

Secara pilihan, fungsi penukaran boleh ditambah sebagai hujah kedua, mis
__ERR_MSG__("%s: tidak sah hujah", quotearg). Ini akan membawa kepada mesej ralat
seperti kesilapan (EXIT_FAILURE, 0, "%s: tidak sah hujah", quotearg (pilihan)).

An __TAMBAH_BENDERA__ arahan. Masuk akal hanya jika parameter baris arahan tidak
sudah menjadi bendera, dalam kes ini parameter bendera tambahan ditambah yang akan menjadi
tetapkan jika parameter baris arahan ditentukan pada baris arahan. Pilihan ini
ditetapkan secara automatik jika parameter mempunyai hujah pilihan.

A __CODE__(penyataan) arahan. Penyataan kod yang ditentukan disalin
secara literal. Contoh: __CODE__(printf ("Parameter x adalah tetapkan");). Kod yang ditentukan
boleh memanjangkan lebih daripada satu baris. Untuk memberi Genparse peluang untuk
inden kod dengan betul, jangan campurkan ruang dan lekukan tab dalam satu __KOD__
kenyataan.

A __STORE_LONGINDEX__ arahan. Arahkan Genparse untuk menambah medan jenis interer
kepada kelas hasil yang akan ditetapkan kepada pembolehubah longindex (hujah terakhir dalam
panggilan ke @code{getopt_long()}). Medan baharu ini akan mendapat nama yang sama dengan
medan hasil yang berkaitan dengannya tetapi dengan an _li postfix.

Berikut global arahan disokong. Mereka mungkin muncul dalam sebarang susunan.

An #include arahan akan mengarahkan genparse untuk menyalin pernyataan include tersebut
ke dalam kod C atau C++ yang dijana oleh genparse, tetapi bukan sebarang fail pengepala atau panggil balik
fail.

A #wajib arahan boleh digunakan ia menjadikan fungsi usage() memanggil lebih baik. Ia membolehkan
anda untuk menentukan parameter baris perintah mandatori yang mungkin mengikut suis. Catatan
bahawa Genparse tidak menyemak parameter mandatori, ia hanya dicetak dalam
penggunaan () fungsi dengan __WAJIB__ arahan. Tidak digunakan lagi: menambah wajib
parameter in yang #penggunaan seksyen sebaliknya.

An #exit_value arahan yang menentukan nilai keluar sekiranya berlaku ralat.
Lalai ialah EXIT_FAILURE.

A #break_lines arahan yang menentukan lebar garis yang akan dipecahkan
pada skrin bantuan. Jika tidak #break_lines arahan ditentukan maka baris akan
dicetak betul-betul seperti yang diberikan dalam fail genparse.

If #no_struct ditentukan maka tiada struct akan ditakrifkan yang akan diisi dengan
parameter baris arahan dalam parser yang dihasilkan. Ini mungkin berguna jika anda
mahu menambah kod anda sendiri dengan __KOD__ kenyataan sebaliknya. Hanya disokong untuk C
output.

A #export_long_options arahan. Jika #export_long_options ditakrifkan kemudian a
fungsi #get_long_options() ditambah yang mengeksport tatasusunan pilihan panjang yang digunakan oleh
#getopt_long(). Arahan ini hanya tersedia untuk output C, untuk bahasa lain
ia tidak diendahkan.

A global panggil balik fungsi. Fungsi ini berguna untuk menyemak saling bergantung
antara parameter. Saling bergantung tidak boleh disemak dalam setiap individu
fungsi panggil balik kerana susunan fungsi ini akan dipanggil berbeza-beza,
bergantung pada susunan parameter pada baris arahan.

Genparse juga menjana a penggunaan() fungsi yang mencetak teks bantuan untuk stdout tentang
penggunaan program yang Genparse menjana parser. Ia boleh disesuaikan oleh
menentukan bahagian penggunaan di bahagian bawah fail Genparse. Jika tiada bahagian seperti itu
dinyatakan ia lalai kepada

#usage_begin
penggunaan: __PROGRAM_NAME__ __OPTIONS_SHORT__ __MANDATORIES__
__GLOSARI__
#penggunaan_akhir

Bahagian penggunaan bermula dengan #usage_begin dan berakhir dengan #penggunaan_akhir. Sebarang teks antara ialah
kata kerja bercetak kecuali kata kunci berikut, yang akan digantikan seperti yang disenaraikan
di bawah:

__PROGRAM_NAME__: Nama program. Dalam C dan C++ nama program diberikan dalam
argv[0].

__OPTIONS_SHORT__: Senarai pilihan bentuk pendek yang tersedia, cth [ -abc ].

__WAJIB__: Senarai semua parameter mandatori seperti yang ditakrifkan dengan #mandatory
menyuruh. Tidak digunakan lagi: senarai wajib parameter disini secara langsung.

__GLOSARI__: Penerangan tentang semua pilihan baris arahan. Ini adalah maklumat
diberikan untuk definisi parameter dalam bentuk yang boleh dibaca manusia. Ia termasuk
jenis parameter, lalai, julat dan sebarang komen. Satu baris yang mengandungi
__GLOSARI__ digantikan dengan glosari parameter, sebarang teks lain dalam
baris yang sama diabaikan.

__GLOSARY_GNU__: Sama seperti __GLOSARI__ tetapi dalam gaya GNU. Secara pilihan diikuti dengan
integer dalam kurungan yang menentukan lekukan teks deskriptif (cth
__GLOSARI__(30)). Lekukan lalai ialah 24.

__STRING__(s): Pemalar rentetan, dalam C mungkin makro rentetan yang ditakrifkan dengan
#define perintah prapemproses. Makro ini boleh diimport daripada fail lain menggunakan
arahan sertakan dalam fail genparse. Diabaikan apabila menjana output Java.

__INT__(x): Pemalar integer, dalam C mungkin makro integer yang ditakrifkan dengan
#define perintah prapemproses. Makro ini boleh diimport daripada fail lain menggunakan
arahan sertakan dalam fail genparse. Diabaikan apabila menjana output Java.

__CODE__(penyataan): Sama seperti pilihan parameter, lihat di atas.

__JANGAN_JANGAN_DOKUMEN__: Mana-mana baris yang mengandungi makro ini tidak akan dicetak dalam
penggunaan() fungsi. Boleh digunakan untuk melaksanakan parameter baris arahan tanpa
menyenaraikannya pada skrin bantuan.

__NL__: Baris baru. Berguna untuk memutuskan talian secara manual manakala garisan automatik memutuskan
dihidupkan (lihat #break_lines). Diabaikan apabila menjana output Java.

__CETAKAN_BARU__: Tutup arahan cetakan aktif dan mulakan arahan baharu.

__ULASAN__(teks): Komen dalam kod untuk mencetak teks penggunaan.

pilihan yang panjang boleh diikuti dengan tanda = dan penunjuk pilihan opt_name yang boleh
dirujuk dalam huraian berikut. Ia akan digunakan dalam penggunaan() fungsi
sahaja. Contohnya baris genparse berikut

s / block-size=SIZE int "gunakan blok SIZE-bait"

akan membawa kepada baris berikut dalam skrin bantuan

[ -s ] [ --block-size=SAIZ ] (jenis=INTEGER)
gunakan blok SIZE-bait

dalam gaya genparse (__GLOSARI__) Atau

-s, --block-size=SIZE gunakan blok SIZE-bait

dalam gaya GNU (__GLOSARY_GNU__).

Anda juga boleh meletakkan pendakap empat segi di sekeliling nama pilihan untuk menunjukkan
bahawa hujah adalah pilihan. Walau bagaimanapun, ini tidak mempunyai makna untuk penghurai yang dihasilkan. guna
* postfixes untuk menjadikan hujah pilihan.

s* / blok*[=SIZE] int "gunakan blok."
"Jika SAIZ tidak diberikan maka mereka akan mendapat saiz 1kB."

akan membawa kepada baris berikut dalam skrin bantuan

-s, --block[=SIZE] gunakan blok.
Jika SAIZ tidak diberikan maka mereka akan mendapat saiz 1kB.

CONTOH


Berikut ialah contoh fail genparse:

#termasuk

/* komen */
my_callback()

i / lelaran int 100 [10...1000] iter_callback()
"Bilangan lelaran untuk dijalankan."

/*
* Komen
*/

n / rentetan nama {"mike"} name_cb() "Nama pengguna"
rentetan s / str "rentetan ujian"
f bendera "bendera bodoh!"

#usage_begin
penggunaan: __PROGRAM_NAME__ __OPTIONS_SHORT__ nama fail
Ini hanyalah program ujian bodoh.
__GLOSARI__
#penggunaan_akhir

Gunakan genparse dalam talian menggunakan perkhidmatan onworks.net


Pelayan & Stesen Kerja Percuma

Muat turun apl Windows & Linux

Arahan Linux

Ad