เบžเบฒเบชเบฒเบญเบฑเบ‡เบเบดเบ”เบžเบฒเบชเบฒเบเบฃเบฑเปˆเบ‡เปเบญเบชเบ›เบฒเป‚เบเบ™

Ad


OnWorks favicon

genparse - เบญเบญเบ™เบฅเบฒเบเปƒเบ™เบ„เบฅเบฒเบง

เปเบฅเปˆเบ™ genparse เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเบœเปˆเบฒเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เบ™เบตเป‰เปเบกเปˆเบ™ genparse เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เป„เบ”เป‰เปƒเบ™ OnWorks เบœเบนเป‰เปƒเบซเป‰เบšเปเบฅเบดเบเบฒเบ™เป‚เบฎเบ”เบ•เบดเป‰เบ‡เบŸเบฃเบตเป‚เบ”เบเปƒเบŠเป‰เบซเบ™เบถเปˆเบ‡เปƒเบ™เบซเบผเบฒเบเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบญเบญเบ™เป„เบฅเบ™เปŒเบ‚เบญเบ‡เบžเบงเบเป€เบฎเบปเบฒเป€เบŠเบฑเปˆเบ™ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator

เป‚เบ„เบ‡เบเบฒเบ™:

NAME


genparse - command line parser generator

เบชเบฐเบซเบผเบธเบšเบชเบฑเบ‡เบฅเบงเบก


genparse [เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™] เป„เบŸ...

เบฅเบฒเบเบฅเบฐเบญเบฝเบ”


genparse เป€เบ›เบฑเบ™เบ•เบปเบงเปเบเบเปเบเบเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบปเปˆเบงเป„เบ›. เบˆเบฒเบเบ‡เปˆเบฒเบเบ”เบฒเบเปเบฅเบฐ concise
เป„เบŸเบฅเปŒเบชเบฐเป€เบžเบฒเบฐ, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบฅเบฐเบชเบฐเบซเบผเบฑเบšเบ—เบตเปˆเป€เบˆเบปเป‰เบฒเบˆเบฐ
เบขเบฒเบเบชเบฒเบกเบฒเบ”เบœเปˆเบฒเบ™เป„เบ›เบซเบฒเป‚เบ„เบ‡เบเบฒเบ™เบ‚เบญเบ‡เป€เบˆเบปเป‰เบฒ. Genparse เบชเป‰เบฒเบ‡เบฅเบฐเบซเบฑเบ” C, C++ เบซเบผเบท Java เบ‚เบญเบ‡
parser เบชเปเบฒเบฅเบฑเบšเบ—เปˆเบฒเบ™.

Genparse เบชเบปเบกเบกเบธเบ”เบงเปˆเบฒ GNU getopt_long(3) เบŸเบฑเบ‡เบŠเบฑเบ™เบ–เบทเบเบชเป‰เบฒเบ‡เบขเบนเปˆเปƒเบ™เบซเป‰เบญเบ‡เบชเบฐเบซเบกเบธเบ” C เบ‚เบญเบ‡เบ—เปˆเบฒเบ™. เบชเปเบฒเบฅเบฑเบš
Java เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบ•เป‰เบญเบ‡เบฅเบฐเบšเบธเป„เบŸเบฅเปŒ jar เบ—เบตเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบเบฑเบš Java compiler เบ‚เบญเบ‡เบ—เปˆเบฒเบ™.

OPTIONS


genparse เบเบญเบกเบฎเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰:

-c, --cppext เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบ
เบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเป„เบŸเบฅเปŒ C++. (เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ = cc)

-d เป€เบ›เบตเบ”เบเบฒเบ™เบšเบฑเบ™เบ—เบถเบ.

-f, --logfile เบŠเบทเปˆ
เบŠเบทเปˆเป„เบŸเบฅเปŒเบšเบฑเบ™เบ—เบถเบ. (เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ = genparse.log)

-h, - เบŠเปˆเบงเบ
เบชเบฐเปเบ”เบ‡เบ‚เปเป‰เบกเบนเบ™เบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญ.

-g, --gnulib
เปƒเบŠเป‰ GNU Compatibility Library (Gnulib, เป€เบšเบดเปˆเบ‡ http://www.gnu.org/software/gnulib/).
เบกเบตเปƒเบซเป‰เบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” C. เบญเบฐเบ™เบธเบเบฒเบ”เบšเบฒเบ‡เบ›เบฐเป€เบžเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก (unsigned long, intmax_t เปเบฅเบฐเบญเบทเปˆเบ™เป†.)
เบชเปเบฒเบฅเบฑเบšเบ—เบตเปˆ Gnulib เบชเบฐเบซเบ™เบญเบ‡เบซเบ™เป‰เบฒเบ—เบตเปˆเบเบฒเบ™เปเบ›เบ‡.

-i, --เบชเบฒเบเบปเบ™
เปƒเบชเปˆเบกเบฐเบซเบฒเบžเบฒเบเบชเบฒเบเบปเบ™ _() เบญเป‰เบญเบกเบฎเบญเบšเบเบฒเบ™เบชเบปเปˆเบ‡เบญเบญเบเบ‚เปเป‰เบ„เบงเบฒเบกเป€เบžเบทเปˆเบญเปƒเบซเป‰เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™
เบชเบฒเบกเบฒเบ”เป€เบ›เบฑเบ™เบชเบฒเบเบปเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ GNU gettext. เบ›เบฐเบˆเบธเบšเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบ›เบฐเบ•เบดเบšเบฑเบ”
เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” C.

-l, -- เบžเบฒเบชเบฒ lang
เบžเบฒเบชเบฒเบญเบญเบ. เบฎเบญเบ‡เบฎเบฑเบšเบžเบฝเบ‡เปเบ•เปˆ C, C++ เปเบฅเบฐ Java เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบญเบฑเบ™เปƒเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰
เบŠเบตเป‰เบšเบญเบ C++: "c++", "cpp", "cc", เปเบฅเบฐ "cxx". เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Java: "java" เบซเบผเบท "Java".
(เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ = c)

-o, --outfile เบŠเบทเปˆ
เบŠเบทเปˆเป„เบŸเบฅเปŒเบ—เบตเปˆเบญเบญเบเบกเบฒ. (เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ = parse_cl)

-m, -- เบชเบฐเบกเบฒเบŠเบดเบเบเบฒเบง
เปƒเบŠเป‰เบ•เบปเบงเป€เบฅเบทเบญเบเบเบฒเบงเบชเปเบฒเบฅเบฑเบšเบชเบฐเบกเบฒเบŠเบดเบเบ‚เบญเบ‡เบŠเบฑเป‰เบ™เบงเบดเป€เบ„เบฒเบฐ (เป‚เบ„เบ‡เบชเป‰เบฒเบ‡). เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™เป€เบžเบทเปˆเบญ
เปƒเบŠเป‰เบ•เบปเบงเปเบ—เบ™เบชเบฑเป‰เบ™ เบเบปเบเป€เบงเบฑเป‰เบ™เบงเปˆเบฒเบกเบตเบเบฒเบ™เบเบณเบ™เบปเบ”เบ•เบปเบงเปเบ—เบ™เบเบฒเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
เปƒเบ™เป„เบŸเบฅเปŒ genparse. เบ–เป‰เบฒเบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบ–เบทเบเบ•เบฑเป‰เบ‡, เบžเบถเบ”เบ•เบดเบเปเบฒเบˆเบฐเบ–เบทเบเบเบฑเบšเบ„เบทเบ™. เป„เบ”เป‰
เบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบเบฒเบงเปเบกเปˆเบ™เปƒเบŠเป‰เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบเบปเบเป€เบงเบฑเป‰เบ™เบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบกเบตเบžเบฝเบ‡เปเบ•เปˆเบเบฒเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ—เบ™เบชเบฑเป‰เบ™
เบเปเบฒเบ™เบปเบ”.

-o, --outfile เบŠเบทเปˆโ€‹เป€เบญโ€‹เบเบฐโ€‹เบชเบฒเบ™
เบŠเบทเปˆเบฎเบฒเบเบ‚เบญเบ‡เป„เบŸเบฅเปŒเบœเบปเบ™เบœเบฐเบฅเบดเบ”. เบชเปˆเบงเบ™เบ‚เบฐเบซเบเบฒเบเบˆเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เป‚เบ”เบเบžเบฒเบชเบฒเบœเบปเบ™เบœเบฐเบฅเบดเบ”
เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบญเบทเปˆเบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡, เป€เบกเบทเปˆเบญเบžเบฒเบชเบฒเบœเบปเบ™เบœเบฐเบฅเบดเบ”เปเบกเปˆเบ™ C, เปƒเบซเป‰
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ™เบตเป‰โ€‹เบเบฒเบ™โ€‹เป‚เบ•เป‰โ€‹เบ–เบฝเบ‡โ€‹เบ‚เบญเบ‡ "เป„เบŸเบฅโ€‹เปŒโ€‹" เบˆเบฐโ€‹เบชเบปเปˆเบ‡โ€‹เบœเบปเบ™โ€‹เปƒเบซเป‰โ€‹เบŠเบทเปˆโ€‹เป„เบŸเบฅโ€‹เปŒโ€‹เบœเบปเบ™โ€‹เบœเบฐโ€‹เบฅเบดเบ”โ€‹เบ‚เบญเบ‡ "file.hโ€‹"โ€‹,
"file.c" เปเบฅเบฐ "file_cb.c" เบชเปเบฒเบฅเบฑเบš header, parser, เปเบฅเบฐ callback files, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš.
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ "parse_cl".

-p, --parsefunc เบกเปˆเบงเบ™
เบŠเบทเปˆเบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ parsing / class. เบ•เบปเบงเป€เบฅเบทเบญเบเบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบœเบนเป‰เปƒเบŠเป‰เบฅเบฐเบšเบธเบŠเบทเปˆ
เบ‚เบญเบ‡เบŸเบฑเบ‡เบŠเบฑเบ™ (เบชเปเบฒเบฅเบฑเบš C) เบซเบผเบทเบŠเบฑเป‰เบ™ (เบชเปเบฒเบฅเบฑเบš C ++ เปเบฅเบฐ Java) เบ—เบตเปˆเป€เบฎเบฑเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡เบ•เบปเบงเบˆเบดเบ‡
เบเบฒเบ™เปเบเบเป€เบชเบฑเป‰เบ™ (เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™ = "Cmdline").

-P, --เบซเบผเบฒเบเบžเบดเบก
เบ‚เปเป‰เบ„เบงเบฒเบกเบŠเปˆเบงเบเป€เบซเบผเบทเบญเบญเบญเบเบชเปเบฒเบฅเบฑเบšเบ—เบธเบเป†เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบžเบดเบกเปเบเบเบ•เปˆเบฒเบ‡เบซเบฒเบ.

-q, --เบ‡เบฝเบš
เป‚เปเบ”เบ‡เบฝเบš - เบšเปเปˆเบกเบตเบœเบปเบ™เบญเบญเบเบกเบฒเปƒเบ™เปœเป‰เบฒเบˆเป.

-s, --static-headers
เบฎเบฑเบเบชเบฒเบชเปˆเบงเบ™เบซเบปเบงเบ„เบณเบญเบฐเบ—เบดเบšเบฒเบเบขเบนเปˆเป€เบ—เบดเบ‡เบชเบธเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒเบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เปƒเบซเป‰เบ„เบปเบ‡เบ—เบตเปˆ. เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™เบ™เบตเป‰
เบ—เบฒเบ‡เป€เบฅเบทเบญเบ genparse เบžเบดเบกเบงเบฑเบ™เบ—เบตเบชเป‰เบฒเบ‡เปเบฅเบฐเป€เบงเบฅเบฒ, เบชเบฐเบšเบฑเบš Linux kernel, kernel build
เป€เบงเบฅเบฒ, เบŠเบทเปˆเบชเบฐเบ–เบฒเบ›เบฑเบ”เบ•เบฐเบเบฐเบเปเบฒเบ„เบญเบกเบžเบดเบงเป€เบ•เบต, เบŠเบทเปˆเป€เบˆเบปเป‰เบฒเบžเบฒเบšเปเบฅเบฐเบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰.

-v, - เบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡
เบชเบฐเบšเบฑเบšเบญเบญเบ.

-D, -- เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบเบฒเบ™
เป„เบ”เป€เบฅเบเบฐเบ—เปเบฅเบตเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เป€เบเบฑเบšเบฎเบฑเบเบชเบฒเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš.

เบ›เบฑเบ”เป„เบˆเบ™เปเบฒเป€เบ‚เบปเป‰เบฒ เป€เบญเบเบฐเบชเบฒเบ™


เป„เบŸเบฅเปŒเบชเบฐเป€เบžเบฒเบฐ genparse (เบ›เบปเบเบเบฐเบ•เบดเปเบฅเป‰เบงเป€เบญเบตเป‰เบ™เบงเปˆเบฒ 'เป„เบŸเบฅเปŒ genparse') เบ›เบฐเบเบญเบšเบ”เป‰เบงเบเบ•เบปเบงเป€เบฅเบ
เบ‚เบญเบ‡เบฅเบฒเบเบเบฒเบ™, เบซเบ™เบถเปˆเบ‡เบ•เปเปˆเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡, เบ‚เบญเบ‡เปเบšเบšเบŸเบญเบก:

short_names[*|!] [/ long_name[*|!][=opt_name]] เบ›เบฐเป€เบžเบ” [ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™ ]

A เบŠเบทเปˆเบชเบฑเป‰เบ™ เป€เบ›เบฑเบ™เบ•เบปเบงเบญเบฑเบเบชเบญเบ™เบ”เบฝเบง (เบ™เป‰เบญเบ เบซเบผเบท เบ™เบฐเบ„เบญเบ™เบซเบผเบงเบ‡) เบซเบผเบท เบ•เบปเบงเป€เบฅเบเบ”เบฝเบง. long_name เป€เบ›เบฑเบ™
เบŠเบทเปˆเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ—เบตเปˆเบเบฒเบงเบเบงเปˆเบฒ (เบญเบฐเบ—เบดเบšเบฒเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบก). เปƒเบ™เปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เบŠเบทเปˆเบชเบฑเป‰เบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเบซเบ™เป‰เบฒ
เป‚เบ”เบ dash เบ”เบฝเบง (เป€เบŠเบฑเปˆเบ™ '-a') เปเบฅเบฐเบชเบฐเบšเบฑเบšเบเบฒเบงเบˆเบฐเบ–เบทเบเบ™เปเบฒเบซเบ™เป‰เบฒเบ”เป‰เบงเบเบชเบญเบ‡ dashes (เป€เบŠเบฑเปˆเบ™:
'--เบ—เบฑเบ‡เปเบปเบ”'). เบ–เป‰เบฒเบŠเบทเปˆเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบเบฒเบงเบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐเบฅเบฐเบšเบธเบžเบฝเบ‡เปเบ•เปˆเบŠเบทเปˆเบชเบฑเป‰เบ™
(เปเบฅเบฐ slash เบšเปเปˆเบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบ›เบฒเบเบปเบ”). เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบตเปˆเบกเบตเบ„เบงเบฒเบกเบเบฒเบงเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
เบ•เบฑเป‰เบ‡เบŠเบทเปˆ short_names to NONE. เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบฑเป‰เบ™เบซเบผเบฒเบ, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบš
เบเบฒเบ™โ€‹เบ•เบฑเป‰เบ‡โ€‹เบ•เบปเบงโ€‹เบขเปˆเบฒเบ‡โ€‹ เบŠเบทเปˆเบชเบฑเป‰เบ™ เบเบฑเบš 'aA' เปเบฅเบฐ long_name เบเบฑเบš 'เบ—เบฑเบ‡เบซเบกเบปเบ”' เบˆเบฐเบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบฅเบฐเบšเบธ
เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบ›เปˆเบฝเบ™เป€เบ›เบฑเบ™ '-a' เบซเบผเบท '-A' เบซเบผเบท '--all', เบžเบงเบเบกเบฑเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เป€เบฎเบฑเบ”เปเบšเบšเบ”เบฝเบงเบเบฑเบ™.

A * เบซเบผเบฑเบ‡เบˆเบฒเบ เบŠเบทเปˆเบชเบฑเป‰เบ™ or long_name เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เป€เบ›เบฑเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบชเปเบฒเบฅเบฑเบš
เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบชเบฑเป‰เบ™โ€‹เปเบฅเบฐโ€‹เบเบฒเบงโ€‹เปเบเบโ€‹เบ•เปˆเบฒเบ‡โ€‹เบซเบฒเบโ€‹.

A ! เบซเบผเบฑเบ‡เบˆเบฒเบ เบŠเบทเปˆเบชเบฑเป‰เบ™ or long_name เป€เบฎเบฑเบ”เปƒเบซเป‰เบ—เบฒเบ‡เป€เบฅเบทเบญเบ boolean. เบ™เบตเป‰เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบซเบ™เบถเปˆเบ‡เป€เบžเบทเปˆเบญเบชเบปเบกเบ—เบปเบš a
เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบฑเป‰เบ™ boolean เบ—เบตเปˆเบกเบตเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฒเบงเบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบซเบผเบทเบšเบฑเบ‡เบ„เบฑเบšเบซเบผเบท to
เบชเบปเบกเบ—เบปเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบเบฒเบง boolean เบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบชเบฑเป‰เบ™เบ—เบตเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบซเบผเบทเบšเบฑเบ‡เบ„เบฑเบš.
A ! เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบ–เป‰เบฒเบซเบฒเบเบงเปˆเบฒเบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปเบกเปˆเบ™ เบ—เบธเบ‡.

เบ›เบฐเป€เบžเบ” เบ•เป‰เบญเบ‡เป€เบ›เบฑเบ™เบซเบ™เบถเปˆเบ‡เปƒเบ™ int float char string or เบ—เบธเบ‡. เบชเบตเปˆเบญเบฑเบ™เบ—เปเบฒเบญเบดเบ”เบ„เบงเบ™เบˆเบฐเป€เบ›เบฑเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡.
เบญเบฐเบ—เบดเบšเบฒเบ. เบชเบธเบ”เบ—เป‰เบฒเบเปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ "เบชเบฐเบซเบผเบฑเบš" เบ—เบตเปˆเบšเปเปˆเบกเบตเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡. เบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เบœเบฐเบฅเบดเบ” C เปเบฅเบฐเบ–เป‰เบฒ
--gnulib เบ–เบทเบเบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡ เบ™เบญเบเบˆเบฒเบเบ™เบฑเป‰เบ™, เบ›เบฐเป€เบžเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปเบกเปˆเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰: เบเบฒเบง
(เบชเปเบฒเบฅเบฑเบš int เบเบฒเบง), เปเบœ (เบชเปเบฒเบฅเบฑเบš unsigned long int), intmax (เบชเปเบฒเบฅเบฑเบš intmax_t, เบเปเบฒเบ™เบปเบ”เปƒเบ™ Gnulib),
uintmax (เบชเปเบฒเบฅเบฑเบš uintmax_t), double.

เบ•เปเปˆเป„เบ›เบ™เบตเป‰ เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™ เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เบซเบ™เบถเปˆเบ‡เปเบฅเบฐเบเบปเบเป€เบงเบฑเป‰เบ™เบชเปเบฒเบฅเบฑเบš
เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ เบžเบฝเบ‡เปเบ•เปˆเบซเบ™เบถเปˆเบ‡เบ‚เบญเบ‡เปเบ•เปˆเบฅเบฐเบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบญเบฒเบ”เบˆเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เบ•เปเปˆเบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

A Default เบกเบนเบ™เบ„เปˆเบฒ เบชเปเบฒเบฅเบฑเบšเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต. เบชเปเบฒเบฅเบฑเบšเบชเบฐเบ•เบฃเบดเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ—เปเบฒเบกเบฐเบ”เบฒ
เบกเบนเบ™เบ„เปˆเบฒ, เปƒเบ”เบเปเปˆเบ•เบฒเบกเบกเบฑเบ™เป€เบ›เบฑเบ™. เบชเบณเบฅเบฑเบšเบชเบฐเบ•เบฃเบดเบ‡, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบฅเบฐเบšเบธเบžเบฒเบเปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบš เปเบฅเบฐ
quotes, เปเบฅเบฐเบญเบฒเบ”เบˆเบฐเบ›เบฐเบเบญเบšเบกเบต whitespace, เป€เบŠเบฑเปˆเบ™: {"เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบ"}. เบชเปเบฒเบฅเบฑเบš char เป€เบ›เบฑเบ™
เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบ—เบตเปˆเบกเบฑเบ™เบ•เป‰เบญเบ‡เบ–เบทเบเบฅเบงเบกเบขเบนเปˆเปƒเบ™เบงเบปเบ‡เบขเบทเบกเบ”เบฝเบง, เบ•เบปเบงเบขเปˆเบฒเบ‡ 'a' เบซเบผเบท '\n'.

A เบฅเบฐเบ”เบฑเบš เบ‚เบญเบ‡เบ„เปˆเบฒเบžเบฒเบเปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบš. เบ„เปˆเบฒเบ•เปˆเบณ เปเบฅเบฐ เบชเบนเบ‡ เปเบกเปˆเบ™เบเบณเบ™เบปเบ”เบฅเบฐเบซเบงเปˆเบฒเบ‡ a
เบ•เบปเบงเบฅเบฐเบšเบธเบ‚เบญเบšเป€เบ‚เบ” (เบ—เบฑเบ‡ '...' เบซเบผเบท '..'). เบšเปเปˆเบงเปˆเบฒเบ„เปˆเบฒเบชเบนเบ‡เบซเบผเบทเบ•เปˆเปเบฒเบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™
เบ–เบทเบเบฅเบฐเป€เบงเบฑเป‰เบ™เบชเบณเบฅเบฑเบšเป„เบฅเบเบฐเบ—เบตเปˆเบœเบนเบเบกเบฑเบ”เบขเบนเปˆเบ‚เป‰เบฒเบ‡เปœเบถเปˆเบ‡เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบˆเบฐเบ–เบทเบเบเบงเบ”เบชเบญเบš
เปƒเบซเป‰เปเบ™เปˆเปƒเบˆเบงเปˆเบฒเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ™เบตเป‰.

A เป‚เบ—โ€‹เบเบฑเบš เบซเบ™เป‰เบฒเบ—เบตเปˆ. เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เป€เบญเบตเป‰เบ™เบงเปˆเบฒเบซเบผเบฑเบ‡เบˆเบฒเบเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ‚เบญเบšเป€เบ‚เบ”เปƒเบ”เป†
เบ›เบฐเบ•เบดเบšเบฑเบ”. เบˆเบธเบ”โ€‹เบ›เบฐโ€‹เบชเบปเบ‡โ€‹เบ‚เบญเบ‡โ€‹เบเบฒเบ™โ€‹เป‚เบ—โ€‹เบเบฑเบšโ€‹เบ„เบทเบ™โ€‹เป„เบ›โ€‹เบšเปˆเบญเบ™โ€‹เป€เบžเบทเปˆเบญโ€‹เป€เบฎเบฑเบ”โ€‹เบเบฒเบ™โ€‹เบเบงเบ”โ€‹เบชเบญเบšโ€‹เบ„เบงเบฒเบกโ€‹เบ–เบทเบโ€‹เบ•เป‰เบญเบ‡โ€‹เบ—เบตเปˆโ€‹เบซเบผเบฒเบโ€‹เบเบงเปˆเบฒโ€‹
เบชเบฑเบšเบชเบปเบ™เบเบงเปˆเบฒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ genparse. เบ•เบปเบงเบขเปˆเบฒเบ‡, เบ—เปˆเบฒเบ™เบญเบฒเบ”เบˆเบฐ
เบ‚เบฝเบ™เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆเบฎเบฝเบเบฎเป‰เบญเบ‡เปƒเบซเป‰เบกเบตเบเบฒเบ™เบ›เป‰เบญเบ™เบ‚เปเป‰เบกเบนเบ™เป€เบ›เบฑเบ™เบ•เบปเบงเป€เบฅเบเบ•เบปเป‰เบ™เบ•เป, เบชเบฐเบ•เบดเบ‡เบ‚เบญเบ‡เบชเบฐเป€เบžเบฒเบฐเปƒเบ”เบซเบ™เบถเปˆเบ‡
เบ„เบงเบฒเบกเบเบฒเบง, เปเบฅเบฐเบญเบทเปˆเบ™เป†.

A เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ เปƒเบ™เบงเบปเบ‡เบขเบทเบกเบ„เบนเปˆ. เบกเบฑเบ™เป„เบ”เป‰เบ–เบทเบเบžเบดเบกเบญเบญเบเป‚เบ”เบ เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ () เบซเบ™เป‰เบฒเบ—เบตเปˆ. เบ–เป‰เบฒเบซเบ™เบถเปˆเบ‡
เปเบ–เบงเบšเปเปˆเบžเบฝเบ‡เบžเปเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เบฅเบฐเบšเบธเบซเบผเบฒเบเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบ, เบซเบ™เบถเปˆเบ‡เบ•เปเปˆเปเบ–เบงเปเบฅเบฐเปเบ•เปˆเบฅเบฐ
เป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบขเบนเปˆเปƒเบ™เบงเบปเบ‡เบขเบทเบกเบ„เบนเปˆ. เบ–เป‰เบฒเบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบขเบนเปˆเปƒเบ™เบ„เปเบฅเปเบฒเบ—เบต 1 เปƒเบ™ Genparse
เป„เบŸเบฅเปŒเบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบกเบฑเบ™เบเบฑเบ‡เบˆเบฐเบ–เบทเบเบžเบดเบกเบขเบนเปˆเปƒเบ™เบ–เบฑเบ™เบ—เบต 1 เปƒเบ™ เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ () function

A #gp_include เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฐเบชเบฑเปˆเบ‡เปƒเบซเป‰ genparse เบ›เบฐเบเบญเบšเบกเบตเป„เบŸเบฅเปŒ genparse เบญเบทเปˆเบ™,
เบ•เบปเบงเบขเปˆเบฒเบ‡: #gp_include เบญเบตเบ.gp. เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบกเบตเบžเบฝเบ‡เบเบฒเบ™เบเบณเบ™เบปเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™
เป„เบŸเบฅเปŒ, เบšเปเปˆเบกเบตเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบ—เบปเปˆเบงเป‚เบฅเบ.

An __ERR_MSG__(err_txt) เบ„เปเบฒเบชเบฑเปˆเบ‡. เบฅเบฐเบšเบธเบ‚เปเป‰เบ„เบงเบฒเบกเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบžเบดเบกเบญเบญเบ
เป€เบกเบทเปˆเบญเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เป„เบ”เป‰. เบ•เบปเบงเบขเปˆเบฒเบ‡: __ERR_MSG__("%s: เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡
เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡"). เบ‚เปเป‰เบ„เบงเบฒเบกเบ™เบตเป‰เบˆเบฐเบ–เบทเบเบžเบดเบกเบญเบญเบเป€เบกเบทเปˆเบญเบกเบตเบŸเบฑเบ‡เบŠเบฑเบ™เบเบฒเบ™เปเบ›เบ‡
เบฅเบปเป‰เบกเป€เบซเบฅเบง เบซเบผเบทเป€เบกเบทเปˆเบญเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบขเบนเปˆเบ™เบญเบเบ‚เบญเบšเป€เบ‚เบ”. เบ–เบทเบงเปˆเบฒเบกเบตเบญเบฑเบ™เบ™เบถเปˆเบ‡ %s เป€เบŠเบดเปˆเบ‡เบˆเบฐ
เบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบ‚เปเป‰เบ‚เบฑเบ”เปเบเป‰เบ‡เบ—เบตเปˆเบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เปˆเบฝเบ™เป„เบ”เป‰. เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เป„เบ”เป‰เป€เบกเบทเปˆเบญ
Genparse เปเบกเปˆเบ™ invoked เบเบฑเบš --gnulib, เบ–เบทเบเบฅเบฐเป€เบฅเบตเบเบ–เป‰เบฒเบšเปเปˆเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™.

เบ—เบฒเบ‡เป€เบฅเบทเบญเบเปƒเบ™เบเบฒเบ™เบ›เปˆเบฝเบ™เบซเบ™เป‰เบฒเบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบ–เบทเบเป€เบžเบตเปˆเบกเป€เบ›เบฑเบ™เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบตเบชเบญเบ‡, เบ•เบปเบงเบขเปˆเบฒเบ‡
__ERR_MSG__("%s: เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡", quotearg). เบ™เบตเป‰โ€‹เบˆเบฐโ€‹เบ™เปเบฒโ€‹เป„เบ›โ€‹เบชเบนเปˆโ€‹เบเบฒเบ™โ€‹เบ‚เปเป‰โ€‹เบ„เบงเบฒเบกโ€‹เบœเบดเบ”โ€‹เบžเบฒเบ”โ€‹
เบ„เบท เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ” (EXIT_FAILURE, 0, "%s: เบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡ เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡", quotearg (เป€เบฅเบทเบญเบ)).

An __ADD_FLAG__ เบ„เปเบฒเบชเบฑเปˆเบ‡. เป€เบฎเบฑเบ”เปƒเบซเป‰เบ„เบงเบฒเบกเบฎเบนเป‰เบชเบถเบเบžเบฝเบ‡เปเบ•เปˆเบ–เป‰เบฒเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เบšเปเปˆเปเบกเปˆเบ™
เบ—เบธเบ‡เปเบฅเป‰เบง, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ—เบธเบ‡เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบˆเบฐเบ–เบทเบเป€เบžเบตเปˆเบกเป€เบŠเบดเปˆเบ‡เบˆเบฐเป€เบ›เบฑเบ™
เบ•เบฑเป‰เบ‡เบ–เป‰เบฒเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ—เบฒเบ‡เป€เบฅเบทเบญเบเบ™เบตเป‰
เบ–เบทเบเบ•เบฑเป‰เบ‡เป‚เบ”เบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ–เป‰เบฒเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบกเบต argument เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

A __CODE__(เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™) เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบฅเบฐเบšเบธเป„เบงเป‰เบˆเบฐเบ–เบทเบเบชเบณเป€เบ™เบปเบฒ
เบฎเบนเป‰เบซเบ™เบฑเบ‡เบชเบท. เบ•เบปเบงเบขเปˆเบฒเบ‡: __CODE__(printf ("เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต x เปเบกเปˆเบ™ เบ•เบฑเป‰เบ‡");). เบฅเบฐเบซเบฑเบ”เบ—เบตเปˆเบฅเบฐเบšเบธ
เบชเบฒเบกเบฒเบ”เบ‚เบฐเบซเบเบฒเบเป„เบ”เป‰เบซเบผเบฒเบเบเบงเปˆเบฒเปœเบถเปˆเบ‡เป€เบชเบฑเป‰เบ™. เป€เบžเบทเปˆเบญเปƒเบซเป‰ Genparse เบกเบตเป‚เบญเบเบฒเบ”
เบซเบเปเป‰เปœเป‰เบฒเบฅเบฐเบซเบฑเบ”เปƒเบซเป‰เบ–เบทเบเบ•เป‰เบญเบ‡, เบขเปˆเบฒเบ›เบฐเบชเบปเบกเบŠเปˆเบญเบ‡เบซเบงเปˆเบฒเบ‡ เปเบฅเบฐเปเบ–เบšเบซเบเปเป‰เปœเป‰เบฒเป€เบ‚เบปเป‰เบฒเบเบฑเบ™ __CODE__
เบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆ.

A __STORE_LONGINDEX__ เบ„เปเบฒเบชเบฑเปˆเบ‡. เปเบ™เบฐเบ™เบณ Genparse เป€เบžเบทเปˆเบญเป€เบžเบตเปˆเบกเบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เบ›เบฐเป€เบžเบ” interer
เป„เบ›เบซเบฒเบซเป‰เบญเบ‡เบฎเบฝเบ™เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเป€เบŠเบดเปˆเบ‡เบˆเบฐเบ–เบทเบเบ•เบฑเป‰เบ‡เป€เบ›เบฑเบ™เบ•เบปเบงเปเบ› longindex (เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบชเบธเบ”เบ—เป‰เบฒเบเปƒเบ™
เบเบฒเบ™เป‚เบ—เบซเบฒ @code{getopt_long()}). เบŠเปˆเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบซเบกเปˆเบ™เบตเป‰เบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบŠเบทเปˆเบ”เบฝเบงเบเบฑเบ™เบเบฑเบš
เบžเบฒเบเบชเบฐเบซเบ™เบฒเบกเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบšเบกเบฑเบ™เบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเปเบ•เปˆเบเบฑเบš _เบฅเบต postfix.

เบ•เปเปˆเป„เบ›เบ™เบตเป‰ เบ—เบปเปˆเบงเป‚เบฅเบ directives เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™. เบžเบงเบเป€เบ‚เบปเบฒเป€เบˆเบปเป‰เบฒเบญเบฒเบ”เบˆเบฐเบ›เบฒเบเบปเบ”เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ”เป†.

An #include เบ„เปเบฒเบชเบฑเปˆเบ‡เบˆเบฐเปเบ™เบฐเบ™เปเบฒ genparse เป€เบžเบทเปˆเบญเบ„เบฑเบ”เบฅเบญเบเบ„เปเบฒเบ–เบฐเปเบซเบผเบ‡เบ—เบตเปˆเบเปˆเบฒเบงเบกเบฒ
เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบฅเบฐเบซเบฑเบ” C เบซเบผเบท C++ เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เป‚เบ”เบ genparse, เปเบ•เปˆเบšเปเปˆเบกเบตเป„เบŸเบฅเปŒ header เบซเบผเบท callback
เป„เบŸเบฅเปŒ.

A # เบšเบฑเบ‡เบ„เบฑเบš เบ„เปเบฒเบชเบฑเปˆเบ‡เบชเบฒเบกเบฒเบ”เบ™เปเบฒเปƒเบŠเป‰เบกเบฑเบ™เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ () เบŸเบฑเบ‡เบŠเบฑเบ™เป‚เบ— nicer. เบกเบฑเบ™เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰
เบ—เปˆเบฒเบ™โ€‹เบˆเบฐโ€‹เบฅเบฐโ€‹เบšเบธโ€‹เบ•เบปเบงโ€‹เบเปเบฒโ€‹เบ™เบปเบ”โ€‹เบเบฒเบ™โ€‹เป€เบชเบฑเป‰เบ™โ€‹เบ„เปเบฒโ€‹เบชเบฑเปˆเบ‡โ€‹เบšเบฑเบ‡โ€‹เบ„เบฑเบšโ€‹เบ—เบตเปˆโ€‹เบญเบฒเบ”โ€‹เบˆเบฐโ€‹เบ•เบดเบ”โ€‹เบ•เบฒเบกโ€‹เบชเบฐโ€‹เบซเบผเบฑเบšโ€‹. เบซเบกเบฒเบโ€‹เป€เบซเบ”โ€‹
เบ—เบตเปˆ Genparse เบšเปเปˆเป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบš, เบžเบงเบเบกเบฑเบ™เบžเบฝเบ‡เปเบ•เปˆเบžเบดเบกเบขเบนเปˆเปƒเบ™
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ () เบเบฒเบ™โ€‹เบ—เปเบฒโ€‹เบ‡เบฒเบ™โ€‹เบเบฑเบšโ€‹ __MANDATORIES__ เบ—เบดเบ”เบ—เบฒเบ‡. เบ„เบฑเบ”เบชเบฐ เป€เปœเบต: เป€เบžเบตเปˆเบก เบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบš
เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต in เป„เบ”เป‰ # เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰โ€‹ เบชเปˆเบงเบ™ เปเบ—เบ™เบ—เบตเปˆเบˆเบฐเป€เบ›เบฑเบ™.

An #exit_value เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบฅเบฐเบšเบธเบ„เปˆเบฒเบญเบญเบเปƒเบ™เบเปเบฅเบฐเบ™เบตเบ‚เบญเบ‡เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”.
เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ EXIT_FAILURE.

A #break_lines เบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบ„เบงเบฒเบกเบเบงเป‰เบฒเบ‡เบ‚เบญเบ‡เป€เบชเบฑเป‰เบ™เบ—เบตเปˆเบˆเบฐเปเบ•เบ
เปƒเบ™โ€‹เบซเบ™เป‰เบฒโ€‹เบˆเปโ€‹เบเบฒเบ™โ€‹เบŠเปˆเบงเบโ€‹เป€เบซเบผเบทเบญโ€‹. เบ–เป‰เบฒเบšเปเปˆเบกเบต #break_lines เบ„เปเบฒเบชเบฑเปˆเบ‡เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบชเบฒเบเบˆเบฐเป€เบ›เบฑเบ™
เบžเบดเบกเบขเปˆเบฒเบ‡เปเบ™เปˆเบ™เบญเบ™เบ•เบฒเบกเบ—เบตเปˆเป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™เป„เบŸเบฅเปŒ genparse.

If #no_struct เป„เบ”เป‰เบ–เบทเบเบฅเบฐเบšเบธเป„เบงเป‰เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบšเปเปˆเบกเบตเป‚เบ„เบ‡เบชเป‰เบฒเบ‡เบˆเบฐเบ–เบทเบเบเปเบฒเบ™เบปเบ”เบ—เบตเปˆเบˆเบฐเป€เบ•เบฑเบกเป„เบ›เบ”เป‰เบงเบ
เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เปƒเบ™ parser เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™. เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ–เป‰เบฒเบ—เปˆเบฒเบ™
เบ•เป‰เบญเบ‡เบเบฒเบ™เป€เบžเบตเปˆเบกเบฅเบฐเบซเบฑเบ”เบ‚เบญเบ‡เบ—เปˆเบฒเบ™เป€เบญเบ‡เบ”เป‰เบงเบ __CODE__ เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™เปเบ—เบ™. เบชเบฐโ€‹เบซเบ™เบฑเบšโ€‹เบชเบฐโ€‹เบซเบ™เบนเบ™โ€‹เบžเบฝเบ‡โ€‹เปเบ•เปˆ C
เบœเบปเบ™เบœเบฐเบฅเบดเบ”.

A #export_long_options เบ„เปเบฒเบชเบฑเปˆเบ‡. เบ–เป‰เบฒ #export_long_options เบ–เบทเบเบเปเบฒเบ™เบปเบ”เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™ a
เบซเบ™เป‰เบฒเบ—เบตเปˆ #get_long_options() เบ–เบทเบเป€เบžเบตเปˆเบกเบ—เบตเปˆเบชเบปเปˆเบ‡เบญเบญเบเบญเบฒเป€เบฃ longoptions เบ—เบตเปˆเปƒเบŠเป‰เป‚เบ”เบ
#getpt_long(). เบ„เปเบฒเบชเบฑเปˆเบ‡เบ™เบตเป‰เปเบกเปˆเบ™เบกเบตเบžเบฝเบ‡เปเบ•เปˆเบชเปเบฒเบฅเบฑเบšเบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš C, เบชเปเบฒเบฅเบฑเบšเบžเบฒเบชเบฒเบญเบทเปˆเบ™เป†
เบกเบฑเบ™เบ–เบทเบเบฅเบฐเป€เบฅเบตเบ.

A เบ—เบปเปˆเบงเป‚เบฅเบ เป‚เบ—โ€‹เบเบฑเบš เบซเบ™เป‰เบฒเบ—เบตเปˆ. เบŸเบฑเบ‡เบŠเบฑเบ™เบ™เบตเป‰เปเบกเปˆเบ™เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบ„เบงเบฒเบกเบ‚เบถเป‰เบ™เบเบฑเบšเบเบฑเบ™
เบฅเบฐเบซเบงเปˆเบฒเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™. เบ„เบงเบฒเบกเป€เบžเบดเปˆเบ‡เบžเบฒเบญเบฒเป„เบชเบเบฑเบ™เบšเปเปˆเบชเบฒเบกเบฒเบ”เบเบงเบ”เบชเบญเบšเป„เบ”เป‰เบžเบฒเบเปƒเบ™เปเบ•เปˆเบฅเบฐเบšเบธเบเบ„เบปเบ™
เบŸเบฑเบ‡เบŠเบฑเบ™ callback เป€เบžเบฒเบฐเบงเปˆเบฒเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบตเปˆเบŸเบฑเบ‡เบŠเบฑเบ™เป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบˆเบฐเบ–เบทเบเป€เบญเบตเป‰เบ™เบงเปˆเบฒเปเบ•เบเบ•เปˆเบฒเบ‡เบเบฑเบ™,
เบ‚เบถเป‰เบ™เบเบฑเบšเบ„เปเบฒเบชเบฑเปˆเบ‡เบ‚เบญเบ‡เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบขเบนเปˆเปƒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡.

Genparse เบเบฑเบ‡เบชเป‰เบฒเบ‡ a เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ () เบŸเบฑเบ‡เบŠเบฑเบ™เบ—เบตเปˆเบžเบดเบกเบ‚เปเป‰เบ„เบงเบฒเบกเบŠเปˆเบงเบเป€เบซเบผเบทเบญเป€เบžเบทเปˆเบญ stdout เบเปˆเบฝเบงเบเบฑเบš
เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป‚เบ„เบ‡เบเบฒเบ™เบ—เบตเปˆ Genparse เบเปเบฒเบฅเบฑเบ‡เบชเป‰เบฒเบ‡ parser. เบกเบฑเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบเบฒเบ™เบ›เบฑเบšเปเบ•เปˆเบ‡เป‚เบ”เบ
เบเบฒเบ™เบฅเบฐเบšเบธเบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบ™เบณเปƒเบŠเป‰เบขเบนเปˆเบฅเบธเปˆเบกเบชเบธเบ”เบ‚เบญเบ‡เป„เบŸเบฅเปŒ Genparse. เบ–เป‰เบฒเบšเปเปˆเบกเบตเบžเบฒเบเบชเปˆเบงเบ™เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง
เบฅเบฐเบšเบธเป„เบงเป‰เบงเปˆเบฒเบกเบฑเบ™เป€เบ›เบฑเบ™เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™

#usage_begin
เบเบฒเบ™เบ™เบณเปƒเบŠเป‰: __PROGRAM_NAME__ __OPTIONS_SHORT__ __MANDATORIES__
__GLOSSARY__
#usage_end

เบžเบฒเบเบชเปˆเบงเบ™เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบ #usage_begin เปเบฅเบฐเบชเบดเป‰เบ™เบชเบธเบ”เบ”เป‰เบงเบ #usage_end. เบ‚เปเป‰เบ„เบงเบฒเบกเปƒเบ”เป†เบฅเบฐเบซเบงเปˆเบฒเบ‡เปเบกเปˆเบ™
เบžเบดเบกเบ„เบณเป€เบงเบปเป‰เบฒเบเบปเบเป€เบงเบฑเป‰เบ™เบ„เบณเบชเบฑเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰, เป€เบŠเบดเปˆเบ‡เบˆเบฐเบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ•เบฒเบกเบฅเบฒเบเบŠเบทเปˆ
เบ‚เป‰เบฒเบ‡เบฅเบธเปˆเบกเบ™เบตเป‰:

__PROGRAM_NAME__: เบŠเบทเปˆเป‚เบ„เบ‡เบเบฒเบ™. เปƒเบ™ C เปเบฅเบฐ C ++ เบŠเบทเปˆเป‚เบ„เบ‡เบเบฒเบ™เปเบกเปˆเบ™เป„เบ”เป‰เบฅเบฐเบšเบธเป„เบงเป‰เปƒเบ™
argv[0].

__OPTIONS_SHORT__: เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบทเบญเบเปเบšเบšเบŸเบญเบกเบชเบฑเป‰เบ™เบ—เบตเปˆเบกเบตเบขเบนเปˆ, เบ•เบปเบงเบขเปˆเบฒเบ‡ [ -abc ].

__MANDATORIES__: เบšเบฑเบ™เบŠเบตเบฅเบฒเบเบŠเบทเปˆเบ‚เบญเบ‡เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเบšเบฑเบ‡เบ„เบฑเบšเบ—เบฑเบ‡เปเบปเบ”เบ•เบฒเบกเบ—เบตเปˆเบเบณเบ™เบปเบ”เบ”เป‰เบงเบ #mandatory
เบ„เบณ เบชเบฑเปˆเบ‡. เบ„เบฑเบ”เบชเบฐ เป€เปœเบต: เบšเบฑเบ™โ€‹เบŠเบตโ€‹เบฅเบฒเบโ€‹เบŠเบทเปˆ เบเบฒเบ™เบšเบฑเบ‡เบ„เบฑเบš เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต เบ—เบตเปˆเบ™เบตเป‰ เป‚เบ”เบเบเบปเบ‡.

__GLOSSARY__: เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เบ‚เบญเบ‡เบ•เบปเบงเป€เบฅเบทเบญเบเปเบ–เบงเบ„เปเบฒเบชเบฑเปˆเบ‡เบ—เบฑเบ‡เปเบปเบ”. เบ™เบตเป‰เปเบกเปˆเบ™เบ‚เปเป‰เบกเบนเบ™
เปƒเบซเป‰เบชเปเบฒเบฅเบฑเบšเบ„เปเบฒเบ™เบดเบเบฒเบกเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบตเปƒเบ™เบฎเบนเบšเปเบšเบšเบ—เบตเปˆเบกเบฐเบ™เบธเบ”เบญเปˆเบฒเบ™เป„เบ”เป‰. เบกเบฑเบ™เบ›เบฐเบเบญเบšเบกเบต
เบ›เบฐเป€เบžเบ”เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต, เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™, เป„เบฅเบเบฐ เปเบฅเบฐเบ„เบณเป€เบซเบฑเบ™เปƒเบ”เป†. เป€เบชเบฑเป‰เบ™โ€‹เบ—เบตเปˆโ€‹เบ›เบฐโ€‹เบเบญเบšโ€‹เบ”เป‰เบงเบโ€‹
__GLOSSARY__ เบ–เบทเบเปเบ—เบ™เบ—เบตเปˆเบ”เป‰เบงเบเบ„เปเบฒเบชเบฑเบšเบ‚เบญเบ‡เบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต, เบ‚เปเป‰เบ„เบงเบฒเบกเบญเบทเปˆเบ™เป†เปƒเบ™
เป€เบชเบฑเป‰เบ™เบ”เบฝเบงเบเบฑเบ™เบ–เบทเบเบฅเบฐเป€เบฅเบตเบ.

__GLOSSARY_GNU__: เบ„เบทโ€‹เบเบฑเบ™โ€‹เบเบฑเบš __GLOSSARY__ เปเบ•เปˆเปƒเบ™เปเบšเบš GNU. เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบ•เบฒเบกโ€‹เป‚เบ”เบโ€‹เบเบฒเบ™โ€‹
เบˆเบณเบ™เบงเบ™เป€เบ•เบฑเบกเปƒเบ™เบงเบปเบ‡เป€เบฅเบฑเบšเบ—เบตเปˆเบฅเบฐเบšเบธเบเบฒเบ™เบซเบเปเป‰เปœเป‰เบฒเบ‚เบญเบ‡เบ‚เปเป‰เบ„เบงเบฒเบกเบญเบฐเบ—เบดเบšเบฒเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡
__GLOSSARY__(30)). เบเบฒเบ™เบซเบเปเป‰เปœเป‰เบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 24.

__STRING__(เบงเบด): เป€เบ›เบฑเบ™เบชเบฐเบ•เบฃเบดเบ‡เบ„เบปเบ‡เบ—เบตเปˆ, เปƒเบ™ C เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ macro string เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบ”เป‰เบงเบ
# เบเปเบฒเบ™เบปเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ preprocessor. เบกเบฐเบซเบฒเบžเบฒเบเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบˆเบฒเบเป„เบŸเบฅเปŒเบญเบทเปˆเบ™เป‚เบ”เบเปƒเบŠเป‰
เบ›เบฐเบเบญเบšเบกเบตเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบ™เป„เบŸเบฅเปŒ genparse. เบ–เบทเบเบฅเบฐเป€เบฅเบตเบเป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ” Java.

__INT__(x): เบˆเปเบฒเบ™เบงเบ™เบ„เบปเบ‡เบ—เบตเปˆ, เปƒเบ™ C เบญเบฒเบ”เบˆเบฐเป€เบ›เบฑเบ™ macro integer เบเปเบฒเบ™เบปเบ”เบ”เป‰เบงเบ
# เบเปเบฒเบ™เบปเบ”เบ„เปเบฒเบชเบฑเปˆเบ‡ preprocessor. เบกเบฐเบซเบฒเบžเบฒเบเบ™เบตเป‰เบชเบฒเบกเบฒเบ”เบ–เบทเบเบ™เปเบฒเป€เบ‚เบปเป‰เบฒเบˆเบฒเบเป„เบŸเบฅเปŒเบญเบทเปˆเบ™เป‚เบ”เบเปƒเบŠเป‰
เบ›เบฐเบเบญเบšเบกเบตเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเปƒเบ™เป„เบŸเบฅเปŒ genparse. เบ–เบทเบเบฅเบฐเป€เบฅเบตเบเป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ” Java.

__CODE__(เบ–เบฐเปเบซเบผเบ‡เบเบฒเบ™): เบ„เบทเบเบฑเบ™เบเบฑเบšเบ—เบฒเบ‡เป€เบฅเบทเบญเบเบžเบฒเบฅเบฒเบกเบดเป€เบ•เบต, เป€เบšเบดเปˆเบ‡เบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡.

__DO_NOT_DOCUMENT__: เปเบ–เบงเปƒเบ”เบ™เบถเปˆเบ‡เบ—เบตเปˆเบšเบฑเบ™เบˆเบธเบกเบฐเบซเบฒเบžเบฒเบเบ™เบตเป‰เบˆเบฐเบšเปเปˆเบ–เบทเบเบžเบดเบกเบขเบนเปˆเปƒเบ™
เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ () เบซเบ™เป‰เบฒเบ—เบตเปˆ. เบชเบฒเบกเบฒเบ”เปƒเบŠเป‰เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เป€เบชเบฑเป‰เบ™เบ„เปเบฒเบชเบฑเปˆเบ‡เป‚เบ”เบเบšเปเปˆเบกเบตเบเบฒเบ™
เบฅเบฒเบเบŠเบทเปˆเบžเบงเบเบกเบฑเบ™เบขเบนเปˆเปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบŠเปˆเบงเบเป€เบซเบผเบทเบญ.

__NL__: เบชเบฒเบเปƒเปเปˆ. เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™ breaking เบชเบฒเบเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เปƒเบ™เบ‚เบฐเบ™เบฐเบ—เบตเปˆ breaking เบชเบฒเบเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”
เป€เบ›เบตเบ” (เป€เบšเบดเปˆเบ‡ #break_lines). เบ–เบทเบเบฅเบฐเป€เบฅเบตเบเป€เบกเบทเปˆเบญเบชเป‰เบฒเบ‡เบœเบปเบ™เบœเบฐเบฅเบดเบ” Java.

__NEW_PRINT__: เบ›เบดเบ”เบ„เบณเบชเบฑเปˆเบ‡เบžเบดเบกเบ—เบตเปˆเปƒเบŠเป‰เบ‡เบฒเบ™เปเบฅเป‰เบงเป€เบฅเบตเปˆเบกเบญเบฑเบ™เปƒเปเปˆ.

__COMMENT__(เบ‚เปเป‰เบ„เบงเบฒเบก): เบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™เปƒเบ™เบฅเบฐเบซเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบžเบดเบกเบ‚เปเป‰เบ„เบงเบฒเบกเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰.

เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹เบเบฒเบงโ€‹เบชเบฒโ€‹เบกเบฒเบ”โ€‹เบ›เบฐโ€‹เบ•เบดโ€‹เบšเบฑเบ”โ€‹เบ•เบฒเบกโ€‹เบ”เป‰เบงเบโ€‹เบชเบฑเบ™โ€‹เบเบฒโ€‹เบฅเบฑเบ = เปเบฅเบฐโ€‹เบเบฒเบ™โ€‹เบญเบญเบโ€‹เปเบšเบšโ€‹เบ—เบฒเบ‡โ€‹เป€เบฅเบทเบญเบโ€‹ opt_name เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เป„เบ”เป‰
เบญเป‰เบฒเบ‡เป€เบ–เบดเบ‡เบขเบนเปˆเปƒเบ™เบ„เปเบฒเบญเบฐเบ—เบดเบšเบฒเบเบ•เปเปˆเป„เบ›เบ™เบตเป‰. เบกเบฑเบ™เบˆเบฐเบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เปƒเบ™ เบเบฒเบ™โ€‹เบ™เปเบฒโ€‹เปƒเบŠเป‰ () เบซเบ™เป‰เบฒเบ—เบตเปˆ
เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ•เบปเบงเบขเปˆเบฒเบ‡เป€เบŠเบฑเปˆเบ™เป€เบชเบฑเป‰เบ™ genparse เบ•เปเปˆเป„เบ›เบ™เบตเป‰

s / block-size=SIZE int "เปƒเบŠเป‰ SIZE-byte blocks"

เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเป€เบชเบฑเป‰เบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบŠเปˆเบงเบเป€เบซเบผเบทเบญ

[ -s ] [ --block-size=SIZE ] (type=INTEGER)
เปƒเบŠเป‰ SIZE-byte blocks

เปƒเบ™เบฎเบนเบšเปเบšเบš genparse (__GLOSSARY__) เบซเบผเบท

-s, --block-size=SIZE เปƒเบŠเป‰ SIZE-byte blocks

เปƒเบ™เปเบšเบš GNU (__GLOSSARY_GNU__).

เบกเบฑเบ™เบเบฑเบ‡เบชเบฒเบกเบฒเบ”เปƒเบชเปˆเบงเบปเบ‡เป€เบฅเบฑเบšเบชเบตเปˆเบซเบผเปˆเบฝเบกเบฎเบญเบšเบŠเบทเปˆเบ—เบฒเบ‡เป€เบฅเบทเบญเบเป€เบžเบทเปˆเบญเบŠเบตเป‰เบšเบญเบ
เบงเปˆเบฒเบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เปเบกเปˆเบ™เบ—เบฒเบ‡เป€เบฅเบทเบญเบ. เบ™เบตเป‰เบšเปเปˆเบกเบตเบ„เบงเบฒเบกเบซเบกเบฒเบเบชเปเบฒเบฅเบฑเบš parser เบ—เบตเปˆเบชเป‰เบฒเบ‡เบ‚เบถเป‰เบ™เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก. เปƒเบŠเป‰
* postfixes เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป‚เบ•เป‰เบ–เบฝเบ‡เบ—เบฒเบ‡เป€เบฅเบทเบญเบ.

s* / block*[=SIZE] int "เปƒเบŠเป‰เบšเบฅเบฑเบญเบ."
"เบ–เป‰เบฒ SIZE เบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰, เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ” 1kB."

เบˆเบฐเบ™เปเบฒเป„เบ›เบชเบนเปˆเป€เบชเบฑเป‰เบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบ™เบซเบ™เป‰เบฒเบˆเปเบŠเปˆเบงเบเป€เบซเบผเบทเบญ

-s, --block[=SIZE] เปƒเบŠเป‰เบšเบฅเบฑเบญเบ.
เบ–เป‰เบฒ SIZE เบšเปเปˆเป„เบ”เป‰เปƒเบซเป‰, เบžเบงเบเป€เบ‚เบปเบฒเบˆเบฐเป„เบ”เป‰เบฎเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ” 1kB.

EXAMPLE


เบ™เบตเป‰เปเบกเปˆเบ™เบ•เบปเบงเบขเปˆเบฒเบ‡เป„เบŸเบฅเปŒ genparse:

#เบฅเบงเบกเบ—เบฑเบ‡

/* เบ„เปเบฒโ€‹เป€เบซเบฑเบ™ */
my_callback()

i / iterations int 100 [10...1000] iter_callback()
"เบˆเปเบฒเบ™เบงเบ™เบเบฒเบ™เบŠเปเป‰เบฒเบ„เบทเบ™เบ—เบตเปˆเบˆเบฐเบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™."

/*
* เบ„เปเบฒเบ„เบดเบ”เบ„เปเบฒเป€เบซเบฑเบ™
*/

n / เบŠเบทเปˆเบชเบฐเบ•เบฃเบดเบ‡ {"mike"} name_cb() "เบŠเบทเปˆเบœเบนเป‰เปƒเบŠเป‰"
s / str string "test string"
f เบ—เบธเบ‡ "เบ—เบธเบ‡เป‚เบ‡เปˆ!"

#usage_begin
เบเบฒเบ™เบ™เบณเปƒเบŠเป‰: __PROGRAM_NAME__ __OPTIONS_SHORT__ เบŠเบทเปˆเป„เบŸเบฅเปŒ
เบ™เบตเป‰เปเบกเปˆเบ™เบžเบฝเบ‡เปเบ•เปˆเป‚เบ„เบ‡เบเบฒเบ™เบ—เบปเบ”เบชเบญเบšเป‚เบ‡เปˆ.
__GLOSSARY__
#usage_end

เปƒเบŠเป‰ genparse เบญเบญเบ™เป„เบฅเบ™เปŒเป‚เบ”เบเปƒเบŠเป‰เบšเปเบฅเบดเบเบฒเบ™ onworks.net


เป€เบŠเบตเบšเป€เบงเบต เปเบฅเบฐเบชเบฐเบ–เบฒเบ™เบตเป€เบฎเบฑเบ”เบงเบฝเบเบŸเบฃเบต

เบ”เบฒเบงเป‚เบซเบผเบ”เปเบญเบฑเบš Windows เปเบฅเบฐ Linux

Linux เบ„เบณ เบชเบฑเปˆเบ‡

Ad