A header-only parser combinator library for fun. Aiming to be simple and elegant.
QCPC_DECL(expr);
QCPC_DECL_DEF_(sep)
= *one<' ', '\t', '\r', '\n'>
;
QCPC_DECL_DEF(value)
= +range<'0', '9'>
| join(sep, one<'('>, expr, one<')'>)
;
QCPC_DECL_DEF(product_op)
= one<'*', '/'>
;
QCPC_DECL_DEF(product)
= list(value, product_op, sep)
;
QCPC_DECL_DEF(sum_op)
= one<'+', '-'>
;
QCPC_DECL_DEF(sum)
= list(product, sum_op, sep)
;
QCPC_DEF(expr)
= sum
;
QCPC_DECL_DEF(grammar)
= boi & expr & eoi
;
- examples folder
- micro-lang
See doc folder.
MIT
This project was inspired by following excellent works: