poaflocParser Of Arguments For Lines Of Commands |
git clone git://git.dimitrijedobrota.com/poafloc.git |
Log | Files | Refs | README | LICENSE | HACKING | CONTRIBUTING | CODE_OF_CONDUCT | BUILDING | |
README.md (1894B)
1 # Poafloc 2 3 Command-line argument parser for C and C++ written in C++20 4 5 ## Description 6 7 This project is heavily inspired by GNU argp and the initial goal was to have 8 a drop in replacement. I've managed to implement most of the features I plan 9 on using, but there is still space for future improvements, maybe even in 10 other directions. 11 12 The main motivation behind this project is gaining an in depth understanding 13 of all of the syntax rules of command line arguments, to be used for all of 14 the UNIX utilities. 15 16 This project included a few challenges in both the design and implementation. 17 There was a lot of experimentation with interface that works for both C and 18 C++, as well as having a single library that provides bindings and works with 19 both languages simultaneously. There were a lot of caveats and edge cases to 20 be understood first, and later implemented. 21 22 23 ## Dependencies 24 25 * CMake 3.14 or latter 26 * Compiler with C++20 support (tested on clang version 19.1.7) 27 28 29 ## Building and installing 30 31 See the [`BUILDING`](BUILDING.md) document. 32 33 34 ## Usage 35 36 > Please reference example folder for relevant usage examples. 37 38 39 ## Help 40 41 Refer to [GNU argp documentation](https://www.gnu.org/software/libc/manual/html_node/Argp.html) 42 43 44 ## Version History 45 46 - 1.2 47 * Propagate parser generated error 48 49 - 1.1 50 * Modernize CMake project 51 * Modernize codebase 52 * Add test suite 53 54 - 1.0 55 * Initial Release 56 57 58 ## Contributing 59 60 See the [`CONTRIBUTING`](CONTRIBUTING.md) document. 61 62 63 ## License 64 65 This project is licensed under the MIT License - see the [`LICENSE`](LICENSE.md) file for details 66 67 68 ## Acknowledgments 69 70 Inspiration, code snippets, etc. 71 * [GNU argp documentation](https://www.gnu.org/software/libc/manual/html_node/Argp.html) 72 * [Step-by-Step into Argp](http://nongnu.askapache.com/argpbook/step-by-step-into-argp.pdf) 73 * [ericonr/argp-standalone](https://github.com/ericonr/argp-standalone)