Parser - Hikkihiki/LogicVerifier GitHub Wiki
Why do we need a parser?
- To validate the syntax of logical statements. (Not the truth of the statement. The truth is guaranteed to be correct if we follow the production rules of logics.)
- To extract elements out of logical statements and map with existing production rules.
Requirement
- Must be unambiguous (one statement, one deterministic interpretation)
- Fast
- Easily replaceable, it is very likely that we would change the parser in the future.
Preferred language of choice: Python (mathematical libraries available) JS (fast, browser support) C / C++ (fast)
Potential candidate: PEG.js