parser-toolkit
parser-toolkit is a collection of scanner and parser components, which allows fast creation of efficient parser for custom languages. The main point of a toolkit is to support streamable chunked input.
A standard-compiant implementation of JSON is included as a test. This is how JSON is defined:
var ws = id: "ws" pattern: /\s{1,256}/ // numeric tokens nonZero = id: "nonZero" pattern: /[1-9]/ exponent = id: "exponent" pattern: /[eE]/ numericChunk = id: "numericChunk" pattern: /\d{1,256}/ // string tokens plainChunk = id: "plainChunk" pattern: /[^\"\\]{1,256}/ escapedChars = id: "escapedChars" pattern: /\\/; var json = main: ws: value: object: "{" "}" pair: ":" array: "[" "]" string: "\"" "\"" number: ;
The whole definition is taken verbatim from JSON.org.
The test file sample.json
is copied as is from an open source project json-simple under Apache License 2.0.