Conflowio Parsley Versions Save

Parser combinator library written in Go

0.4.0

6 years ago

BACKWARDS INCOMPATIBILITIES:

  • Typo fix in some methods: peak -> peek

IMPROVEMENTS:

  • Move precompiled whitespace regexp to a separate variable in text reader

OTHER:

  • Fix example JSON parser + add comparison benchmarks against encoding/json

0.3.3

6 years ago

IMPROVEMENTS:

  • allow nil pos in reader errors, replace {{err}} placeholder in WrapError
  • add filename to position, add new file reader constructor

0.3.2

6 years ago

IMPROVEMENTS:

  • reader.WrapError() falls back to the cause's error message if no error message was given and the cause is not a reader error

0.3.1

6 years ago

IMPROVEMENTS:

  • Add SepByOrValue and SepByOrValue1 combinators which will return the value node if only the value parser is matched

0.3.0

6 years ago

BACKWARDS INCOMPATIBILITIES:

  • Add history object to parser.Parse
  • Move Memoize back to the combinators
  • Move parsley package to a directory
  • Change top-level Parse/Evaluate methods
  • Remove parser.Stat, collect call statistics in history

IMPROVEMENTS:

  • Add Sentence root parser

0.2.3

6 years ago

IMPROVEMENTS:

  • reader.WrapError keeps the original error message if empty string is given as message

0.2.2

6 years ago

IMPROVEMENTS:

  • Add parser.FuncFactory interface

0.2.1

6 years ago

BUGFIXES:

  • the ast.Node mock wasn't regenerated

IMPROVEMENTS:

  • Generate mock for parser.Parser

0.2.0

6 years ago

BACKWARDS INCOMPATIBILITIES:

  • combinator.Memoize was removed. Use the Memoize method on the history object instead.
  • parser.Error, parser.NewError and parser.WrapError was moved to reader
  • Interpreter.Eval now returns a reader.Error instead of a general error
  • Node.Value now returns a reader.Error instead of a general error
  • Terminal.Value now returns a reader.Error instead of a general error
  • NonTerminal.Value now returns a reader.Error instead of a general error

0.1.5

6 years ago

IMPROVEMENTS:

  • Add cause to parser.Error, add parser.WrapError constructor