Releases: ianlewis/lexparse
Releases · ianlewis/lexparse
v0.3.0
Immutable
release. Only release title and notes can be modified.
- Refactored
CustomLexerto add a newCustomLexerContexttype that is passed
to state functions. This context provides access to the underlyingLexeras
well as additional helper methods for lexing. - Refactored
Parserto add a newParserContexttype that is passed to state
functions. This context provides access to the underlyingParseras well as
additional helper methods for parsing. - Updated the
CustomLexerto not returnio.EOFfromCustomLexer.Err. It
should only return unexpected errors
(#170). - Fixed an issue where the
Filenamefield was not set onPositionvalues
returned by theCustomLexerandScanningLexer
(#169).
All changes since v0.2.0
- feat: add fmt.Stringer implementation for Node by @ianlewis in #151
- test: add ini example test by @ianlewis in #152
- chore(deps): lock file maintenance by @renovate[bot] in #167
- chore(deps): update dependency renovate to v42 [security] by @renovate[bot] in #168
- chore: update the infix test to print the tree by @ianlewis in #171
- chore(deps): update github/codeql-action action to v4 by @renovate[bot] in #165
- chore(deps): update actions/upload-artifact action to v6 by @renovate[bot] in #163
- chore(deps): update actions/setup-node action to v6 by @renovate[bot] in #162
- chore(deps): update actions/checkout action to v6 by @renovate[bot] in #161
- chore(deps): update python docker tag to v3.14.2 by @renovate[bot] in #160
- chore(deps): update npm dev by @renovate[bot] in #159
- chore(deps): update node.js to v22.22.0 by @renovate[bot] in #158
- chore(deps): update dependency go to v1.25.6 by @renovate[bot] in #153
- chore: sync with repo-template-go by @ianlewis in #172
- chore(deps): update node.js to v24.12.0 by @renovate[bot] in #166
- chore(deps): update dependency zizmor to v1.20.0 by @renovate[bot] in #157
- chore(deps): update codecov/codecov-action action to v5.5.2 by @renovate[bot] in #154
- feat: set filename by @ianlewis in #174
- chore(deps): update dependency aquaproj/aqua to v2.56.5 by @renovate[bot] in #156
- chore(deps): update aqua by @renovate[bot] in #155
- fix: do not return EOF from Err by @ianlewis in #175
- feat: refactor API for CustomLexer by @ianlewis in #176
- feat: refactor the Parser API by @ianlewis in #177
- docs: update for new API by @ianlewis in #178
- tests: update template example test by @ianlewis in #179
- chore(release): v0.3.0 by @ianlewis in #180
New Contributors
Full Changelog: v0.2.0...v0.3.0
v0.2.0
- The EOF token emitted by the
Lexernow includes the position where the EOF
is encountered. - The
Parsernow includesNewNodeandSetRootmethods. These methods are
useful for parsers that need to build the parse tree themselves instead of
using the default methods on theParser. - The
LexerAPI has been completely redesigned. ALexerinterface was added
and there are now two implementations:ScanningLexerandCustomLexer.
ScanningLexeris based ontext/scannerand can handle many use cases.
CustomLexerallows 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
Initial Release
All Changes
- ci: Test older versions of Go by @ianlewis in #16
- chore: fix TODO comments by @ianlewis in #18
- chore: update codecov badge by @ianlewis in #20
- ci: Update conventional commits check by @ianlewis in #19
- chore(deps): Bump github.com/ianlewis/runeio from 1.1.0 to 1.1.1 by @dependabot in #4
- test: Add ExampleLexParse test by @ianlewis in #15
- fix: cog: checkout with fetch-depth: 0 by @ianlewis in #21
- chore(deps): Bump pathspec from 0.11.2 to 0.12.1 by @dependabot in #10
- chore(deps): Bump actions/setup-go from 4.1.0 to 5.0.0 by @dependabot in #9
- ci: use ianlewis/todo-issue-reopener by @ianlewis in #28
- chore(deps): Bump github/codeql-action from 2.22.8 to 3.24.0 by @dependabot in #30
- chore(deps): Bump codecov/codecov-action from 3.1.4 to 4.0.1 by @dependabot in #29
- feat: Add positions to parser by @ianlewis in #32
- fix: Fix error handling in LexParse by @ianlewis in #33
- test: Add template interpreter to example by @ianlewis in #48
- chore: Update code comments by @ianlewis in #49
- refactor: Parser tree by @ianlewis in #50
- chore(deps-dev): Bump prettier from 3.0.3 to 3.3.3 by @dependabot in #53
- chore(deps): Bump github/codeql-action from 3.24.0 to 3.26.6 by @dependabot in #59
- chore(deps): Bump actions/upload-artifact from 3.1.3 to 4.4.0 by @dependabot in #58
- chore(deps): Bump actions/setup-node from 4.0.0 to 4.0.3 by @dependabot in #56
- chore(deps): Bump ianlewis/todo-issue-reopener from 1.0.0 to 1.3.0 by @dependabot in #55
- chore(deps): Bump cocogitto/cocogitto-action from 3.5 to 3.8 by @dependabot in #57
- chore(deps): Bump yamllint from 1.32.0 to 1.35.1 by @dependabot in #37
- chore(deps-dev): Bump markdownlint-cli from 0.37.0 to 0.41.0 by @dependabot in #54
- feat: Add binary tree functions. by @ianlewis in #60
- chore(deps): Bump github/codeql-action from 3.26.6 to 3.26.10 by @dependabot in #61
- chore(deps): Bump ossf/scorecard-action from 2.3.1 to 2.4.0 by @dependabot in #62
- chore(deps): Bump actions/checkout from 4.1.1 to 4.2.0 by @dependabot in #63
- chore(deps-dev): Bump markdownlint-cli from 0.41.0 to 0.42.0 by @dependabot in #66
- chore(deps): Bump actions/checkout from 4.2.0 to 4.2.1 by @dependabot in #67
- fix: Allow setting nil to binary trees by @ianlewis in #68
- chore(deps): Bump actions/setup-go from 5.0.0 to 5.0.2 by @dependabot in #65
- chore(deps): Bump actions/setup-node from 4.0.3 to 4.0.4 by @dependabot in #64
- fix: Node line, column, and position by @ianlewis in #52
- chore: merge with repo-template-go by @ianlewis in #82
- chore(deps): Bump the all-dependencies group with 6 updates by @dependabot in #83
- feat: Use 1-based indexing by @ianlewis in #84
- refactor: Refactor API by @ianlewis in #85
- feat: Update example_test by @ianlewis in #87
- refactor: LexParse API by @ianlewis in #88
- chore: Update min Go version to 1.23 by @ianlewis in #103
- feat: Add if block support to example by @ianlewis in #100
- chore: Rename Lexeme to Token by @ianlewis in #104
- chore: rm cog.toml by @ianlewis in #108
- refactor: Update API around EOF token by @ianlewis in #105
- docs: Add README doc by @ianlewis in #93
- chore(release): v0.1.0 by @ianlewis in #109
Full Changelog: https://github.com/ianlewis/lexparse/commits/v0.1.0