Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

C-code generator for docopt language.

License

NotificationsYou must be signed in to change notification settings

docopt/docopt.c

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LicensePyPi publishPyPi: release

Note,at this point the code generator handles only options(positional arguments, commands and pattern matching will follow).

Step 1. Describe your CLI in docopt language

Naval Fate.Usage:  naval_fate ship create <name>...  naval_fate ship <name> move <x> <y> [--speed=<kn>]  naval_fate ship shoot <x> <y>  naval_fate mine (set|remove) <x> <y> [--moored|--drifting]  naval_fate --help  naval_fate --versionOptions:  -h --help     Show this screen.  --version     Show version.  --speed=<kn>  Speed in knots [default: 10].  --moored      Moored (anchored) mine.  --drifting    Drifting mine.

Step 2. Generate the C code

$ python -m docopt_c -o docopt.c example.docopt

or by using pipe

$ cat example.docopt| python -m docopt_c> docopt.c

Step 3. Include the generateddocopt.c into your program

#include"docopt.h"intmain(intargc,char*argv[]){structDocoptArgsargs=docopt(argc,argv,/* help */1,/* version */"2.0rc2");puts("Commands");printf("\tmine == %s\n",args.mine ?"true" :"false");printf("\tmove == %s\n",args.move ?"true" :"false");printf("\tcreate == %s\n",args.create ?"true" :"false");printf("\tremove == %s\n",args.remove ?"true" :"false");printf("\tset == %s\n",args.set ?"true" :"false");printf("\tship == %s\n",args.ship ?"true" :"false");printf("\tshoot == %s\n",args.shoot ?"true" :"false");puts("Arguments");printf("\tx == %s\n",args.x);printf("\ty == %s\n",args.y);puts("Flags");printf("\t--drifting == %s\n",args.drifting ?"true" :"false");printf("\t--help == %s\n",args.help ?"true" :"false");printf("\t--moored == %s\n",args.moored ?"true" :"false");printf("\t--version == %s\n",args.version ?"true" :"false");puts("Options");printf("\t--speed == %s\n",args.speed);returnEXIT_SUCCESS;}

Step 4. Profit!

$ c99 example.c -o example.out$ ./example.out mine --drifting --speed=20Commands    mine ==true    move ==false    create ==false    remove ==falseset ==false    ship ==false    shoot ==falseArguments    x == (null)    y == (null)Flags    --drifting ==true    --help ==false    --moored ==false    --version ==falseOptions    --speed == 20

Development

See thePython version's page for moreinfo on developing.

About

C-code generator for docopt language.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp