InglesPransesEspanyol

Ad


OnWorks favicon

genparse - Online sa Cloud

Patakbuhin ang genparse sa OnWorks na libreng hosting provider sa Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

Ito ang command genparse na maaaring patakbuhin sa OnWorks na libreng hosting provider gamit ang isa sa aming maramihang libreng online na workstation gaya ng Ubuntu Online, Fedora Online, Windows online emulator o MAC OS online emulator

PROGRAMA:

NAME


genparse - command line parser generator

SINOPSIS


genparse [pagpipilian] file...

DESCRIPTION


genparse ay isang generic na command line parser generator. Mula sa simple at maigsi
specification file, maaari mong tukuyin ang mga parameter ng command line at switch na gagawin mo
gustong makapasa sa iyong programa. Ginagawa ng Genparse ang C, C++ o Java code ng
parser para sa iyo.

Ipinapalagay ng Genparse na ang GNU getopt_long(3) function ay binuo sa iyong C library. Para sa
Java maaaring kailanganin mong tukuyin ang isang naaangkop na jar file sa iyong Java compiler.

Opsyon


genparse tinatanggap ang mga opsyong ito:

-c, --cpext karugtong
C++ na extension ng file. (default = cc)

-d I-on ang pag-log.

-f, --logfile pangalan
Pangalan ng log file. (default = genparse.log)

-h, - Tumulong
Ipakita ang impormasyon ng tulong.

-g, --gnulib
Gamitin ang GNU Compatibility Library (Gnulib, tingnan http://www.gnu.org/software/gnulib/).
Available lang para sa C output. Nagbibigay-daan sa ilan pang uri (unsigned long, intmax_t atbp.)
kung saan nagbibigay ang Gnulib ng mga function ng conversion.

-i, --mag-internasyonal
Ilagay ang internationalization macro _() sa paligid ng text output upang ang nabuong programa
maaaring i-internationalize gamit ang GNU gettext command. Sa kasalukuyan ay ipinatupad lamang
para sa C output.

-l, --wika lang
Wika ng output. Tanging C, C++ at Java ang sinusuportahan. Anuman sa mga sumusunod
ipahiwatig ang C++: "c++", "cpp", "cc", at "cxx". Para sa paggamit ng Java: "java" o "Java".
(default = c)

-o, --outfile pangalan
Pangalan ng file output. (default = parse_cl)

-m, --mahabang miyembro
Gumamit ng mahahabang opsyon para sa mga miyembro ng parser class (struct). Ang default ay sa
gamitin ang maikling representasyon maliban kung mayroon lamang isang mahabang representasyon na tinukoy
sa genparse file. Kung nakatakda ang opsyong ito, ibabalik ang gawi. Ang
mahabang representasyon ang ginagamit noon maliban kung may maikling representasyon lamang
tinukoy.

-o, --outfile filename
Root name ng output file. Ang extension ay matutukoy ng output na wika
at posibleng sa pamamagitan ng iba pang mga opsyon. Halimbawa, kapag ang wika ng output ay C, nagbibigay
ang pagpipiliang ito ng isang argumento ng "file" ay magreresulta sa mga pangalan ng output file ng "file.h",
"file.c" at "file_cb.c" para sa header, parser, at mga callback na file, ayon sa pagkakabanggit.
Ang default na halaga ay "parse_cl".

-p, --parsefunc func
Pangalan ng pag-parse ng function / klase. Ang pagpipiliang ito ay nagpapahintulot sa gumagamit na tukuyin ang pangalan
ng function (para sa C) o klase (para sa C++ at Java) na gumagawa ng aktwal na utos
pag-parse ng linya (default = "Cmdline").

-P, --maraming mga kopya
I-output ang text ng tulong para sa bawat parameter ng command line sa isang hiwalay na print command.

-q, --tahimik
Quiet mode - wala sa screen na output.

-s, --static-header
Panatilihing static ang mapaglarawang header sa itaas ng mga nabuong file. Kung wala ito
Ang opsyon na genparse ay nagpi-print ng petsa at oras ng paglikha, bersyon ng kernel ng Linux, pagbuo ng kernel
oras, pangalan ng arkitektura ng computer, pangalan ng host at pangalan ng gumagamit.

-v, --bersyon
Bersyon ng output.

-D, --direktoryo
Direktoryo para sa pag-iimbak ng mga resulta.

INPUT FILE


Ang file ng detalye ng genparse (karaniwang tinatawag lang na 'genparse file') ay binubuo ng isang numero
ng mga entry, isa sa bawat parameter ng command line, ng form:

maikling_pangalan[*|!] [/ mahabang_pangalan[*|!][=opt_name]] uri [ pagpipilian ]

A maikling pangalan ay isang solong karakter (maliit o malaki) o isang solong digit. mahabang_pangalan ay isang
mas mahaba (mas mapaglarawang) pangalan ng opsyon. Sa command line, isang maikling pangalan ang mauuna
sa pamamagitan ng isang gitling (hal. '-a') at isang mahabang bersyon ay mauunahan ng dalawang gitling (hal.
'--lahat'). Kung ang isang mahabang pangalan ng parameter ay hindi kinakailangan, maaari mong tukuyin lamang ang maikli
(at hindi kailangang lumitaw ang slash). Upang tukuyin ang isang parameter na mayroon lamang mahaba
set ng pangalan maikling_pangalan sa Wala. Posibleng magkaroon ng maraming maiikling opsyon, kaya para sa
halimbawang setting maikling pangalan sa 'aA' at mahabang_pangalan sa 'lahat' ay magpapahintulot na tukuyin ang
command line switch bilang '-a' o '-A' o '--lahat', lahat sila ay gumagawa ng parehong bagay.

A * pagkatapos maikling pangalan or mahabang_pangalan ginagawang opsyonal ang argumento. Ito ay maaaring tukuyin para sa
maikli at mahabang mga pagpipilian nang hiwalay.

A ! pagkatapos maikling pangalan or mahabang_pangalan ginagawang boolean ang opsyon. Ito ay nagpapahintulot sa isa na pagsamahin ang a
boolean short option na may mahabang opsyon na may opsyonal o mandatoryong argumento o to
pagsamahin ang isang boolean long na opsyon sa isang maikling opsyon na may opsyonal o mandatoryong argumento.
A ! walang saysay kung ang uri ng opsyon ay bandila.

uri dapat isa sa int lumutang tangke pisi or bandila. Ang unang apat ay dapat sa sarili
nagpapaliwanag. Ang huli ay isang "switch" na opsyon na hindi tumatagal ng mga argumento. Para sa C output at kung
--gnulib ay nakatakda sa command line bukod pa rito ang mga sumusunod na uri ay pinapayagan: mahaba
(para sa mahabang int), ulong (para sa unsigned long int), intmax (para sa intmax_t, tinukoy sa Gnulib),
uintmax (para sa uintmax_t), double.

Ang mga sumusunod na pagpipilian ay suportado. Maaaring lumitaw ang mga ito sa anumang pagkakasunud-sunod at maliban sa
paglalarawan isa lamang sa bawat field ang maaaring tukuyin sa bawat opsyon.

A default halaga para sa parameter. Para sa isang string, ito ay simpleng default
halaga, anuman ito. Para sa mga string, dapat na tukuyin ang isang default sa loob ng mga brace at
quotes, at maaaring may kasamang whitespace, hal. {"my default value"}. Para sa isang char
parameter na ito ay dapat na nakapaloob sa mga solong panipi, hal. 'a' o '\n'.

A saklaw ng mga halaga sa loob ng mga bracket. Ang mababa at mataas na mga halaga ay tinukoy sa pagitan ng a
specifier ng saklaw (alinman sa '...' o '..'). Maaaring ang mataas o ang mababang halaga
inalis para sa isang saklaw na may hangganan sa isang gilid lamang. Ang parameter ay susuriin sa
tiyaking nasa loob ito ng saklaw na ito.

A callback tungkulin. Ang function na ito ay tinatawag pagkatapos ng anumang range checking ay
gumanap. Ang layunin ng callback na gawin ang validity checking ay higit pa
kumplikado kaysa sa maaaring tukuyin sa genparse file. Halimbawa, maaari mong
magsulat ng isang programa na nangangailangan ng input upang maging mga pangunahing numero, mga string ng isang tiyak
haba, atbp.

A paglalarawan sa dobleng panipi. Ito ay inilimbag ng paggamit() function. Kung isa
linya ay hindi sapat pagkatapos ay tukuyin ang maramihang mga paglalarawan, isa bawat linya at bawat isa
ang mga ito sa dobleng panipi. Kung magsisimula ang paglalarawan sa 1st column sa Genparse
file pagkatapos ay ipi-print din ito sa 1st column sa paggamit() function.

A #gp_include Ang direktiba ay magtuturo sa genparse na magsama ng isa pang genparse file,
hal #gp_include isa pa.gp. Tanging mga kahulugan ng parameter ang pinapayagan sa kasama
file, walang mga pandaigdigang direktiba.

An __ERR_MSG__(err_txt) direktiba. Tinutukoy ang mensahe ng error na naka-print
kapag hindi ma-convert ang argumento. Halimbawa: __ERR_MSG__("%s: hindi wasto
argumento"). Ang mensaheng ito ay ipi-print kapag ang function ng conversion
nabigo o kapag ang argumento ay wala sa saklaw. Ipinapalagay na naglalaman ng isa %s kung saan ay
mapalitan ng agrument na hindi ma-convert. Available lang kapag
Genparse ay invoked with --gnulib, hindi pinansin kung hindi man.

Opsyonal, maaaring magdagdag ng function ng conversion bilang pangalawang argumento, hal
__ERR_MSG__("%s: hindi wasto argumento", quotearg). Ito ay hahantong sa isang mensahe ng error
gaya ng mali (EXIT_FAILURE, 0, "%s: hindi wasto argumento", quotearg (optind)).

An __ADD_FLAG__ direktiba. Makatuwiran lamang kung ang parameter ng command line ay hindi
isa nang bandila, sa kasong ito, isang karagdagang parameter ng bandila ang idadagdag na magiging
itakda kung ang parameter ng command line ay tinukoy sa command line. Ang pagpipiliang ito
ay awtomatikong itinakda kung ang isang parameter ay may opsyonal na argumento.

A __CODE__(mga pahayag) direktiba. Ang tinukoy na mga pahayag ng code ay kinopya
literal. Halimbawa: __CODE__(printf ("Parameter x ay itakda");). Ang tinukoy na code
maaaring umabot sa higit sa isang linya. Upang mabigyan ng pagkakataon si Genparse na
indent nang maayos ang code, huwag paghaluin ang space at tab indentations sa isa __CODE__
pahayag.

A __STORE_LONGINDEX__ direktiba. Inutusan ang Genparse na magdagdag ng field ng uri ng interer
sa klase ng resulta na itatakda sa longindex variable (huling argumento sa
ang tawag sa @code{getopt_long()}). Ang bagong field na ito ay makakakuha ng parehong pangalan bilang ang
field ng resulta ito ay nauugnay sa ngunit may isang _li postfix.

Ang mga sumusunod na global direktiba ay suportado. Maaaring lumitaw ang mga ito sa anumang pagkakasunud-sunod.

An # isama ang direktiba ay magtuturo sa genparse na kopyahin ang nasabing include statement
sa C o C++ code na nabuo ng genparse, ngunit hindi sa anumang mga file ng header o callback
file.

A #mandatory maaaring gamitin ang direktiba na ginagawang mas maganda ang paggamit () function. Pinapayagan nito
mong tukuyin ang mga mandatoryong parameter ng command line na maaaring sumunod sa mga switch. Tandaan
na hindi sinusuri ng Genparse ang mga mandatoryong parameter, naka-print lang ang mga ito sa
paggamit () function kasama ang __MANDATORIES__ Directive. Hindi na ginagamit: idagdag sapilitan
parameter in ang #gamit seksyon sa halip.

An #exit_value direktiba na tumutukoy sa exit value kung sakaling magkaroon ng error.
Ang default ay EXIT_FAILURE.

A #break_lines direktiba na tumutukoy sa lapad kung saan ang mga linya ay dapat sirain
sa screen ng tulong. Kung hindi #break_lines ang direktiba ay tinukoy pagkatapos ay magiging mga linya
na-print nang eksakto tulad ng ibinigay sa genparse file.

If #no_struct ay tinukoy pagkatapos ay walang struct na tutukuyin na mapupuno ng
ang mga parameter ng command line sa nabuong parser. Ito ay maaaring maging kapaki-pakinabang kung ikaw
gustong magdagdag ng sarili mong code gamit ang __CODE__ mga pahayag sa halip. Sinusuportahan lamang para sa C
output.

A #export_long_options direktiba. Kung #export_long_options ay tinukoy pagkatapos a
tungkulin #get_long_options() ay idinagdag na nag-e-export ng longoptions array na ginamit ni
#getopt_long(). Ang direktiba na ito ay magagamit lamang para sa C output, para sa iba pang mga wika
hindi ito pinapansin.

A global callback tungkulin. Ang function na ito ay kapaki-pakinabang para sa pagsuri sa mga interdependency
sa pagitan ng mga parameter. Hindi masusuri ang mga interdependency sa loob ng bawat indibidwal
callback function dahil ang pagkakasunud-sunod kung saan tatawagin ang mga function na ito ay nag-iiba,
depende sa pagkakasunud-sunod ng mga parameter sa command line.

Ang Genparse ay bumubuo rin ng a paggamit() function na nagpi-print ng text ng tulong sa stdout tungkol sa
paggamit ng program kung saan binubuo ng Genparse ang parser. Maaari itong i-customize ng
pagtukoy ng seksyon ng paggamit sa ibaba ng Genparse file. Kung walang ganoong seksyon
tinukoy na ito ay default sa

#usage_begin
paggamit: __PROGRAM_NAME__ __OPTIONS_SHORT__ __MANDATORIES__
__GLOSARY__
#usage_end

Ang seksyon ng paggamit ay nagsisimula sa #usage_begin at nagtatapos sa #usage_end. Anumang text sa pagitan ay
naka-print na verbatim maliban sa mga sumusunod na keyword, na papalitan ayon sa nakalista
sa ibaba:

__PROGRAM_NAME__: Ang pangalan ng programa. Sa C at C++ ang pangalan ng programa ay ibinigay sa
argv[0].

__OPTIONS_SHORT__: Isang listahan ng mga available na opsyon sa maikling form, hal. [ -abc ].

__MANDATORIES__: Isang listahan ng lahat ng mandatoryong parameter gaya ng tinukoy sa #mandatory
utos. Hindi na ginagamit: listahan sapilitan parameter dito direkta.

__GLOSARY__: Isang paglalarawan ng lahat ng opsyon sa command line. Ito ang impormasyon
ibinigay para sa mga definiton ng parameter sa nababasang anyo ng tao. Kabilang dito ang
uri ng parameter, default, saklaw at anumang komento. Isang linya na naglalaman ng
__GLOSARY__ ay pinalitan ng glossary ng mga parameter, anumang iba pang teksto sa
hindi pinapansin ang parehong linya.

__GLOSARY_GNU__: Katulad ng __GLOSARY__ ngunit sa estilo ng GNU. Opsyonal na sinusundan ng isang
integer sa mga bracket na tumutukoy sa indentation ng descriptive text (hal
__GLOSARY__(30)). Ang default na indentation ay 24.

__STRING__(s): Isang string na pare-pareho, sa C marahil isang string macro na tinukoy sa
#define preprocessor command. Maaaring ma-import ang macro na ito mula sa isa pang file gamit ang
ang isama ang direktiba sa genparse file. Hindi pinansin kapag bumubuo ng output ng Java.

__INT__(x): Isang integer constant, sa C marahil ay isang integer macro na tinukoy sa
#define preprocessor command. Maaaring ma-import ang macro na ito mula sa isa pang file gamit ang
ang isama ang direktiba sa genparse file. Hindi pinansin kapag bumubuo ng output ng Java.

__CODE__(mga pahayag): Kapareho ng para sa mga pagpipilian sa parameter, tingnan sa itaas.

__HUWAG_ANG_DOKUMENTO__: Anumang linya na naglalaman ng macro na ito ay hindi ipi-print sa
paggamit() function. Maaaring gamitin para sa pagpapatupad ng mga parameter ng command line nang wala
listahan ng mga ito sa screen ng tulong.

__NL__: Bagong linya. Kapaki-pakinabang para sa pagsira ng mga linya nang manu-mano habang awtomatikong pagsira ng linya
ay naka-on (tingnan #break_lines). Hindi pinansin kapag bumubuo ng output ng Java.

__NEW_PRINT__: Isara ang aktibong print command at magsimula ng bago.

__COMMENT__(teksto): Magkomento sa code para sa pag-print ng teksto ng paggamit.

mahahabang pagpipilian ay maaaring sundan ng isang = sign at isang opsyonal na pagtatalaga opt_name kung saan maaari
matukoy sa sumusunod na paglalarawan. Gagamitin ito sa paggamit() tungkulin
lamang. Halimbawa ang sumusunod na linya ng genparse

s / block-size=SIZE int "gumamit ng SIZE-byte blocks"

ay hahantong sa sumusunod na linya sa screen ng tulong

[ -s ] [ --block-size=SIZE ] (type=INTEGER)
gumamit ng SIZE-byte na mga bloke

sa istilong genparse (__GLOSARY__) O

-s, --block-size=SIZE gumamit ng SIZE-byte na mga bloke

sa istilong GNU (__GLOSARY_GNU__).

Posible ring maglagay ng mga square braces sa paligid ng opsyonal na pangalan upang maipahiwatig
na ang argumento ay opsyonal. Ito ay walang kahulugan para sa nabuong parser gayunpaman. Gamitin
* mga postfix upang gawing opsyonal ang isang argumento.

s* / block*[=SIZE] int "gumamit ng mga bloke."
"Kung hindi ibinigay ang SIZE, makakakuha sila ng sukat na 1kB."

ay hahantong sa sumusunod na linya sa screen ng tulong

-s, --block[=SIZE] gumamit ng mga block.
Kung hindi ibinigay ang SIZE, makakakuha sila ng sukat na 1kB.

Halimbawa


Narito ang isang sample na genparse file:

#isama

/* komento */
my_callback()

i / iterations int 100 [10...1000] iter_callback()
"Bilang ng mga pag-ulit na tatakbo."

/*
* Komento
*/

n / name string {"mike"} name_cb() "Pangalan ng user"
s / str string "test string"
f bandila "isang hangal na bandila!"

#usage_begin
paggamit: __PROGRAM_NAME__ __OPTIONS_SHORT__ filename
Ito ay isang hangal na programa sa pagsubok lamang.
__GLOSARY__
#usage_end

Gumamit ng genparse online gamit ang mga serbisyo ng onworks.net


Mga Libreng Server at Workstation

Mag-download ng Windows at Linux apps

Linux command

Ad