Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/OneBit74/ezpz
Easy Parsing C++ Library
https://github.com/OneBit74/ezpz
cpp cpp20 header-only parser parser-combinators parser-generator
Last synced: 3 months ago
JSON representation
Easy Parsing C++ Library
- Host: GitHub
- URL: https://github.com/OneBit74/ezpz
- Owner: OneBit74
- License: mit
- Created: 2021-08-13T11:43:40.000Z (over 3 years ago)
- Default Branch: master
- Last Pushed: 2023-08-17T20:38:26.000Z (over 1 year ago)
- Last Synced: 2024-08-01T00:41:52.939Z (5 months ago)
- Topics: cpp, cpp20, header-only, parser, parser-combinators, parser-generator
- Language: C++
- Homepage:
- Size: 228 KB
- Stars: 21
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesomecpp - ezpz - - easy parsing C++ library. (Text Handling)
README
# EZPZ
**ezpz** is a C++20 parser combinator library that tries to make writing parsers as easy as possible. You can combine parsers, propagate output, write custom contexts, get decent error messages and most importantly opt-out, if you need to.## Mini-Example
```c++
parse("Hello World!", "Hello "+any(alpha)+"!"+eoi);
```## Documentation
- [Tutorial](./examples/tutorial.cpp): Read this as an example based overview of ezpz.
- [Reference](./reference.md): Read this for more indepth information of concepts and techniques in ezpz.## Dependencies
- fmt
- C++20 (e.g. gcc 11.1)### Test Dependencies
- gtest/gmock
- rapidcheck (downloaded automatically by cmake)## Building
**ezpz** is a header-only library, which means you do not have to build anything to start using this library. If you want to build the tests and examples anyway, you need to have cmake and make installed. Go into the project root directory. Then, run the following commands:
```bash
mkdir build
cd build
cmake ..
make
```