Bruno BELANYI
b5912f508e
evalexpr: parse: improve precedence climbing
...
The previous version of the algorithm did not take into account the fact
that the main loop should only run while we have postfix or infix
operators. This happened to work because of the small amount of
operators used in the grammar.
The previous version also had prefix operators hard-coded in the operand
parsing function.
2020-11-02 15:48:30 +01:00
Bruno BELANYI
88b7f50a3a
evalexpr: parse: use single 'ops' table
2020-11-02 15:48:30 +01:00
Bruno BELANYI
81f7d30ddd
ci: add Drone CI
2020-11-02 15:48:30 +01:00
Bruno BELANYI
665e05401f
git: ignore testsuite binary
2020-11-02 15:48:30 +01:00
Bruno BELANYI
f9719e9c9b
evalexpr: tests: add Criterion testsuite
2020-11-02 15:48:30 +01:00
Bruno BELANYI
b5b2744a1e
git: ignore evalexpr binary
2020-11-02 15:48:30 +01:00
Bruno BELANYI
23c94b1d06
doc: add README
2020-11-02 15:48:30 +01:00
Bruno BELANYI
92ae5e3ab9
evalexpr: allow choosing parser at build time
2020-11-02 15:48:30 +01:00
Bruno BELANYI
9a6da7b19a
evalexpr: parse: add precedence climbing parser
2020-11-02 15:48:29 +01:00
Bruno BELANYI
ad56ea521a
evalexpr: parse: rename recursive parsing function
2020-11-02 15:48:29 +01:00
Bruno BELANYI
a92e39dbec
evalexpr: initial recursive descent parser
2020-10-28 15:40:57 +01:00