Skip to content

expandable-impl-v0.1.1

Choose a tag to compare

@github-actions github-actions released this 20 Oct 18:12
· 1 commit to main since this release
bdfa65f

Added

  • add support for missing fragments (#57)
  • allow grammar-gen functions to return atoms (#56)
  • add missing [expandable::*] macros (#53)
  • generate a possible invalid expansion when an error is found (#49)
  • add path parsing (#47)
  • add (almost) full pattern support (#44)
  • rework ordering in the "expected XXX, YYY, ZZZ" error message (#45)
  • add support for unqualified path expressions (#40)
  • converge on transitions instead of converging on final state (#34)
  • add support for logic and, or and range expressions (#33)
  • parse let statements in block expression and function body (#28)
  • parse statements (#27)
  • parse break and return expressions (#26)
  • parse block expressions and const generics (#24)
  • parse generics in function and method calls (#23)
  • parse . (#22)
  • add support for array expressions (#20)
  • parse all the tokens of the Rust language (#16)
  • add arithmetic, bit and comparison expression parsing (#14)

Fixed

  • symlink the doc directory in the expandable-impl crate root (#83)
  • add link to docs, add missing readme link (#82)
  • add the include field to all published crates (#80)
  • set up workspace-level dependencies (#78)
  • Add description and license field to the crates (#77)
  • propagate "no repetitions" when checking 0-n repetitions (#59)
  • honour newer rustc/clippy warnings (#31)
  • add license file (#19)
  • Add the missing AfterIf transitions (#17)

Other

  • fix latest clippy lints (#74)
  • update to the new rustfmt style (#64)
  • add variable support in rust-grammar-dpdfa/grammar-gen (#61)
  • bump MSRV to 1.70 (#51)
  • make the expansion check fully deterministic (#50)
  • replace the state machine with the generated parser machinery (#36)
  • add a transition inheritance system (#21)
  • add rustfmt.toml and cool formatting settings (#18)
  • compute the token descriptions before checking the expansion (#15)
  • add backend documentation (#11)
  • Don't lower = to EqualEqual in the frontend (#12)
  • Add subtraction, multiplication and equality, rework function arguments (#10)
  • Add function call parsing (#8)
  • Fix an embarassing bug in the "stack size reduction" optimization (#9)
  • Bring back the repetition stack check (#7)
  • Add debug-only span (#6)
  • Add a MSRV policy (#3)
  • Only check repetition nesting (#2)
  • Add parsing for if/if-else expressions (#1)
  • Make FragmentKind public, fix public API on stable
  • Make sure we don't accidentally keep some stack symbols
  • I forgot the macros :/
  • Add all the keywords in the Rust language
  • State the architecture invariants
  • Rework the grammar and transition machinery
  • Remove intermediate test
  • Report errors when the repetition nesting does not match
  • Keep the repetition stack when parsing the macro matcher
  • Very bad stack machine -> full-blown stack machine
  • Remove warnings
  • Gitigrone
  • Check that macro expansion is complete
  • Better error message
  • Move the impl into a separate impl crate