Skip to content

Latest commit

 

History

History
60 lines (59 loc) · 2.94 KB

ROADMAP.md

File metadata and controls

60 lines (59 loc) · 2.94 KB

ROADMAP

  • Print error messages for Human.
  • Report line num & col.
  • Support partial source: P4_SetSourceContentSlice(s, i, j).
  • Reset source so it can be re-parsed.
  • P4_Inspect(tok, bool (f) (tok)). Example: https://golang.org/pkg/go/ast/#Inspect.
  • Run in VERBOSE mode.
  • Add traverse functions for Tokens.
  • New Expression Kind: Numeric.
  • New Expression Kind: CharacterSet.
  • New Expression Kind: Complement.
  • New Expression Kind: Panic.
  • New Expression Kind: Function.
  • New Expression Kind: Sub Grammar.
  • Performance optimization: pre-alloc tokens.
  • Token only have expr id, no expr.
  • Register a optional name function to convert rule id to rule names.
  • Stop on first error v/s Recover from Panic.
  • Allow replacing malloc/free functions.
  • New Source Flag: Support UTF-8 BOM sequence (0xEF 0xBB 0xBF) at the start of source.
  • Python Binding: example: cffi, misaka.
  • Benchmark: example: json-c. valgrind --tool=massif --massif-out-file=massif.out ./build/tests/test_example_json && ms_print massif.out ms_print.out.
  • Cache literal len.
  • backrefs is not necessary if there is no BackReference in Sequence.
  • static lib.
  • A python grammar.
  • A binary executable for display parsed results in JSON output. The executable can support general programming languages, such as Mustache, Python, JSON, YAML, etc. Some other programs can then takes the input from stdin and do some fancy work. peppapeg --lang=py38 source.py
  • Add tutorials (json, mustache, ini) in docs.
  • Add how-to guides in docs.
  • Add explanations in docs.
  • Enable AddressSanitizer. Example: cJSON.
  • RequireVersion.
  • GetErrorString.
  • Except (Any but).
  • Any.
  • Until.
  • print token ast in json format. Added in v1.8.0.
  • GetErrorString. Added in v1.7.0.
  • Join. Added in v1.7.0.
  • Start-of-Input & End-of-Input. Added in v1.7.0.
  • Range stride. Added in v1.7.0.
  • Return NullError for CreatePositive/CreateNegative/... Added in v1.6.0.
  • build & test via github workflow ci. Added in v1.6.0
  • Dynamically change grammar rules. Added in v1.3.0 via Callback.
  • Case insensitive BackReference. Added in v1.5.0.
  • Create docs and push it to gh-pages branch. Added in v1.5.0.
  • Add doxygen references in docs. Added in v1.5.0.
  • Callbacks for P4_Token. Added in v1.4.0.
  • Example JSON: rfc7159. Added in v1.4.0.
  • Auto generate documentation for functions and defined macros. Example: doxygen. Added in v1.4.0.
  • NeedLoosen, NeedSquash, NeedLift should be well-tested.
  • Add depth setter. Added in v1.3.0.
  • Cache squash. Added in v1.3.0.
  • Cache loosen. Added in v1.3.0.
  • Add Valgrind to the tests. Added in v1.3.0.
  • New Expression Kind: BackReference. Added in v1.2.0.
  • Add Flag Set/Unset functions. Added in v1.1.0.
  • INI parser example. Added in v1.1.0.
  • Flag SPACED. Added in v1.0.0.