Skip to content

Releases: ianlewis/lexparse

v0.3.0

25 Jan 08:46
Immutable release. Only release title and notes can be modified.
fffaa6d

Choose a tag to compare

  • Refactored CustomLexer to add a new CustomLexerContext type that is passed
    to state functions. This context provides access to the underlying Lexer as
    well as additional helper methods for lexing.
  • Refactored Parser to add a new ParserContext type that is passed to state
    functions. This context provides access to the underlying Parser as well as
    additional helper methods for parsing.
  • Updated the CustomLexer to not return io.EOF from CustomLexer.Err. It
    should only return unexpected errors
    (#170).
  • Fixed an issue where the Filename field was not set on Position values
    returned by the CustomLexer and ScanningLexer
    (#169).

All changes since v0.2.0

New Contributors

Full Changelog: v0.2.0...v0.3.0

v0.2.0

31 Oct 03:29
e14f106

Choose a tag to compare

  • The EOF token emitted by the Lexer now includes the position where the EOF
    is encountered.
  • The Parser now includes NewNode and SetRoot methods. These methods are
    useful for parsers that need to build the parse tree themselves instead of
    using the default methods on the Parser.
  • The Lexer API has been completely redesigned. A Lexer interface was added
    and there are now two implementations: ScanningLexer and CustomLexer.
    ScanningLexer is based on text/scanner and can handle many use cases.
    CustomLexer allows for more custom lexing behavior to be implemented
    (#129).

All changes

  • docs: fix example lexer tokens by @ianlewis in #114
  • chore(deps): Bump github.com/google/go-cmp from 0.6.0 to 0.7.0 in the all-dependencies group by @dependabot[bot] in #112
  • chore(deps): Bump the all-dependencies group across 1 directory with 5 updates by @dependabot[bot] in #115
  • chore(deps-dev): Bump prettier from 3.5.1 to 3.5.2 in the development-dependencies group by @dependabot[bot] in #113
  • chore(deps): Bump codecov/codecov-action from 4.0.1 to 5.4.0 by @dependabot[bot] in #111
  • chore(deps): Bump the all-dependencies group with 2 updates by @dependabot[bot] in #117
  • chore(deps-dev): Bump markdownlint-cli from 0.44.0 to 0.45.0 in the development-dependencies group by @dependabot[bot] in #120
  • chore(deps): Bump the all-dependencies group across 1 directory with 7 updates by @dependabot[bot] in #122
  • chore: Sync repo-template-go by @ianlewis in #124
  • chore(deps): Bump openpgp and renovate by @dependabot[bot] in #126
  • chore: Delete old scorecards.yml by @ianlewis in #127
  • chore: Example algebraic interpreter by @ianlewis in #128
  • refactor: Update API by @ianlewis in #130
  • feat: add end position to token by @ianlewis in #136
  • feat: add lexer implementation based on text/scanner by @ianlewis in #137
  • docs: update documentation for new Lexer API by @ianlewis in #140
  • test: update infix example to use ScanningLexer by @ianlewis in #141
  • chore: merge with repo-template-go by @ianlewis in #143
  • docs: fix badge by @ianlewis in #144
  • docs: update godoc for ParseState.Run by @ianlewis in #145
  • chore: re-enable linters by @ianlewis in #146
  • chore: wsl whitespace issues by @ianlewis in #147
  • chore: move merge lexer package back into lexparse by @ianlewis in #148
  • chore: cleanup and tests by @ianlewis in #149
  • chore(release): v0.2.0 by @ianlewis in #150

Full Changelog: v0.1.0...v0.2.0

v0.1.0

24 Feb 06:21
041f3f3

Choose a tag to compare

Initial Release

All Changes

Full Changelog: https://github.com/ianlewis/lexparse/commits/v0.1.0