Conflowio Parsley Versions Save

Parser combinator library written in Go

v0.17.0

2 years ago

Package moved from github.com/opsidian/parsley to github.com/conflowio/parsley

OTHER:

  • Use Go 1.17
  • Add linting using golangci-lint

v0.16.0

3 years ago

BACKWARDS INCOMPATIBILITIES:

  • Remove Value() from the parsley.Node interface{}, differentiate between literal and non-literal nodes

v0.15.0

3 years ago

BACKWARDS INCOMPATIBILITIES:

  • Replace Type() string on parsley.Node with Schema() interface{} to support any user-defined schema
  • Allow to set schema for nil parser

IMPROVEMENTS:

  • Use Go 1.16
  • Move tools dependency file to a subpackage

OTHER:

  • Remove CodeCov integration

v0.14.0

3 years ago

BACKWARDS INCOMPATIBILITIES:

  • Remove NL and Whitespaces parsers, these are achievable using the trim parsers
  • Change Trim parsers to always skip all whitespaces and return specific whitespace error
  • In text.LeftTrim prefer a not found parse error over a whitespace error if the position is the same

IMPROVEMENTS:

  • Add struct wrapper for parser functions to allow recursive parser definitions
  • Simplify parsley.Error, remove unnecessary msg field (and therefore unnecessary .Error()
  • Introduce notfound errors when a parser doesn't match
  • Only collect notfound errors in any/choice if they are not in the starting position

v0.13.0

5 years ago

BACKWARDS INCOMPATIBILITIES:

  • The parsley.Evaluate function doesn't expect an evaluation context anymore, which was renamed to user context to make it more clear and can be set on parsley.Context
  • Move ast.WalkNode to parsley.Walk
  • The transform functions don't expect a NodeTransformer object anymore (the node transformation must be set on the interpreter)

IMPROVEMENTS:

  • The evaluation context is called user context now and can be set on parsley.Context
  • Proper recursive static checking (depth-first)
  • Proper recursive node transformation support (breadth-first)
  • The static checking and transformation are disabled by default and can be enabled on parsley.Context
  • Add NodeTransformerRegistry interface

v0.12.3

5 years ago

IMPROVEMENTS:

  • Add NodeTransformer to context to allow AST transformations
  • The StaticChecker helper should not parse the input (minor backward incompatibility)

v0.12.2

5 years ago

BUGFIXES:

  • Do not panic in StaticCheck if there is no interpreter

v0.12.1

5 years ago

IMPROVEMENTS:

  • The text types should be constants (e.g. terminal.StringType)

v0.10.0

5 years ago

BACKWARDS INCOMPATIBILITIES:

  • Rename Substring parser to Op

v0.10.1

5 years ago

IMPROVEMENTS:

  • Record possible errors in Context if a combinator returns a result for better error messages