parcel is a statically typed language inside cpp for describing the structure and rules of source data parsing.
@sample_link: ...
- describes the type for further reuse
&sample_hook: ...
- after parsing, the user can see what data was received. All accepted tokens stored in hooks. User can see them.
set
- an accumulate collection that accepts one of the subtypeslist
- an accumulate collection that accepts only one subtype
- sequence collection describes many subtypes (elements) for sequential build deep sturcture. When all the items inside the collection are built, this structure accepts.
vector
- it not contain any other subtypes when builds. Build-progress move to begining after first fail subtype build.seq
- (sequence) could contains any other subtypes when builds. Build-progress is accumulating when parsing.
word
- accept an word (letters only) like 'sun', 'weather'id
- accept an id (letters + '_' + '-' + nums) like 'bar_100', '__foo'num
- numeric (now, int only)char
- any single char
int/float
like 123.50, 1240char
like 'a', 'B'string
like "good weather", "Roboto92<<", "@me--"
- cloning.
git clone https://github.com/0brz/parcel.git
- use root
CMakeLists.txt
to build/link parcellib in your project. - you can build with no tests
- use public api (parcel/include) in your project. Main is
#include <parcel.h>
Build (CMAKE) install tests/googletest:
cd tests
- run
git clone https://github.com/google/googletest.git
main build (in root)
mkdir build
cmake ..
- run
./tests/core