Skip to content

Releases: ehwan/RustyLR

v4.4.0

Choose a tag to compare

@ehwan ehwan released this 28 Jun 00:56

What's Changed

  • Integrate RustyLR LSP into the rustylr executable and publish VSCode extension support by @ehwan in #82

  • Improve LSP conflict diagnostics with direct rule details by @ehwan in #83

  • Improve LSP Hover and Completion for Reduce Action Bindings by @ehwan in #84

  • Filter the suggestion list by cursor's position by @ehwan in #85

  • Removed inner Context wrapping & add generic based start extractor by @ehwan in #86

  • fixed in_rule_line, in_reduce_action bool combination into LocationType enum by @ehwan in #87

  • Bump the Rust edition to 2024 and workspace resolver to "3"

Full Changelog: v4.3.0...v4.4.0

v4.3.0

Choose a tag to compare

@ehwan ehwan released this 23 Jun 03:18

What's Changed

  • Improve grammar parser error recovery around malformed productions by @ehwan in #79
  • Support Multiple Start Symbols (%start) with Type-Safe Context Wrappers and Duplicate Validation by @ehwan in #80
  • Implement language server protocol (LSP) and VS Code extension client by @ehwan in #81

Full Changelog: v4.2.0...v4.3.0

v4.1.0

Choose a tag to compare

@ehwan ehwan released this 20 Jun 02:20

What's Changed

  • Removed ruleset, dense option by @ehwan in #67
  • Use flat parser tables and initialize them through Context by @ehwan in #68
  • Remove Option Wrapper from Rule Precedence by @ehwan in #69

Full Changelog: v4.0.0...v4.1.0

v4.0.0

Choose a tag to compare

@ehwan ehwan released this 19 Jun 15:01

What's Changed

  • add box prefix support for auto-boxing stack types in DataEnum by @ehwan in #54
  • Variable substitution by @ehwan in #55
  • Support box Keyword in %tokentype and NonTerminal RuleTypes by @ehwan in #56
  • Optimize parser reduction stack popping logic by @ehwan in #57
  • Refactor Parser Trait to Static Methods and Parameterize Context with Parser Generic by @ehwan in #58
  • Optimize Generated Parser Code Size via Table Serialization by @ehwan in #59
  • Remove %trace directive and runtime tracing functionality by @ehwan in #60
  • remove unused %filter directives and update token matching documentation by @ehwan in #61
  • Remove parser Context backtrace APIs and docs by @ehwan in #62
  • Moved userdata to branch local data and removed from feed() argument by @ehwan in #63
  • Hide internal grammar knobs and simplify precedence directives by @ehwan in #64
  • Remove lookahead pattern syntax and forced rule lookaheads by @ehwan in #65
  • Remove %err alias and demote advanced parser controls by @ehwan in #66

Full Changelog: v3.37.0...v4.0.0

v3.37.0

Choose a tag to compare

@ehwan ehwan released this 18 Jun 12:56

What's Changed

  • Fixed panic mode error recovery logics by @ehwan in #43
  • add rustfmt::skip option to the generated parser table codes by @ehwan in #44
  • New location tracking Location, SpanManager by @ehwan in #46
  • optimize generated parser code via ZST, static slices, and direct vec! initialization by @ehwan in #47
  • Support Bison-like positional variables ($1, $2, ...) and locations (@1, @2, @0) in reduce actions by @ehwan in #48
  • Support '_' type placeholder and type inference for NonTerminals by @ehwan in #49
  • DataStack to use a single unified enum stack & document memory optimizations by @ehwan in #50
  • Refactor Core Documentation (README, SYNTAX, GLR) and Sync API Signatures by @ehwan in #52
  • implement version bumping script by @ehwan in #53

Full Changelog: v3.34.0...v3.37.0

v3.34.0

Choose a tag to compare

@ehwan ehwan released this 04 Oct 06:37

What's Changed

  • Add --state option for state machine inspection in #34
  • Add state field to ParseError in #35
  • Use ArrayVec for multiple reduce rules container in #36
  • Add more test cases in #37
  • Optimization for unused data in #38 #39 #40 #41
  • Use static memory for parser table generation in #42

Full Changelog: v3.32.0...v3.34.0

v3.32.0

Choose a tag to compare

@ehwan ehwan released this 13 Sep 13:50

What's Changed

  • fixed can_feed() logic in #28
  • fixed expected() logic in #29
  • run code generation for sample projects in #30
  • check if custom reduce action can be identity in #31
  • Single rule optimization can be applied with custom reduce action in #32

Full Changelog: v3.31.0...v3.32.0

v3.31.0

Choose a tag to compare

@ehwan ehwan released this 23 Aug 04:10

What's Changed

  • fixed number of tags mismatch in split_off in #24
  • fixed eof was not popped on pop_start() in #25
  • Removed %runtime directive in #26
  • Optimized out unused states and production rules, reduces runtime by 30% in #27

Full Changelog: v3.30.0...v3.31.0

v3.30.0

Choose a tag to compare

@ehwan ehwan released this 15 Aug 01:48

What's Changed

  • add IntermediateState for lightweight state generation in #22
  • use truncate() instead of pop() for unused and shadowed variables in #23
  • optimize counting logic in DataStack::split_off

Full Changelog: v3.29.0...v3.30.0

v3.29.0

Choose a tag to compare

@ehwan ehwan released this 09 Aug 09:06

What's Changed

  • fix command line arguments for note diagnostics in #19
  • split location stack for reduce action, optimizing the stack management in #20
  • replacing the enum-based TokenData approach with separate Vec stacks for each rule type by #21

Full Changelog: v3.28.0...v3.29.0