Parselov[Parselov -- till 2017/03/01]
Parselov is a system for the syntactic analysis of documents and protocol messages based on formal descriptions, as well as the analysis and manipulation of such formal descriptions. It makes it easy to build parsers, validators, converters, test case generators, and other tools. It also explains the process of syntactic analysis slightly differently than usual, which has helped me tremendously to "understand parsing". At the heart of the system is a computer program that converts a formal grammar (the IETF standard "ABNF" is used as input for testing, but it is easy to support W3C's "EBNF" format and similar formats thanks to this system) into a graph and additionally computes all possible traversals of this graph. The result is stored in a simple JSON-based data format.
- The project's own website
Parselov is intended for software developers and protocol and data format designers. While specifications from standards bodies such as W3C and IETF do contain detailed formal and computer-readable descriptions of data formats and protocols, it is tremendously difficult to make good use of them with existing tools. Parselov intends to change that.