Skip to content

Internal improvements to checker and parser #227

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft
wants to merge 70 commits into
base: main
Choose a base branch
from
Draft

Conversation

kaleidawave
Copy link
Owner

@kaleidawave kaleidawave commented Feb 6, 2025

Working on several things in this PR

Performance

  • Improving sizes of data types across checker and parser to improve performance (Expression, Type have new members wrapped)

In the parser

  • Simplifying some existing structs. Moving away from designing enums to prevent irreplaceable steps (as it isn't really possible to do completely) and using new types with guard patterns instead. MultipleExpression now just wraps Expression and add back comma as a binary operator. Merge Statement and Declaration into StatementOrDeclaration. Variable declaration constant value can have no value. (All of these required reflecting the changes in the synthesis step in the checker and ASTImplementation).
  • Change some things in the lexer to use finite automaton for statements rather than if,else if,else if,else if,else if,else if,else if,else if,else if,else if,else etc
  • Renaming and moving files
  • Add some more parser extras (enums?)

Also

  • Add back accidentally removed WASM dependencies
  • Update dependencies
  • Improve performance workflow
    • Fix demo in performance
    • Add difference with main branch
    • Integrate with service to publish and track differences
  • Request-able workflow to print type sizes across projects

TODO

@kaleidawave kaleidawave added bug Something isn't working parser Related to Ezno's syntax parser, AST definitions and output compiler-performance Making parsing / type checking / transformations faster labels Feb 8, 2025
@kaleidawave kaleidawave added the fuzz-me Runs fuzzing on the current PR label Feb 8, 2025
- Update code for clippy and rustfmt
- Update dependencies
- `import.source` under cfg (change expression definition)
- Fixes to property keys
- Fixes to comments in array literal
- Remove duplicate parser error variant
Still lots of things broken
- Add date to release information
- Always run in bash
- Add JSX option to `amalgamate`
- More conformity with `yield`, assigning to `super.xxx`
- Fix bug with unicode escape parsing
- Add duplicate parameter checks
- Add codespan reporting to parse example
…pression. Also unify const and let variable declarations
…ormation and a step to log TODO items in codebase
@kaleidawave kaleidawave removed the fuzz-me Runs fuzzing on the current PR label Jun 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working compiler-performance Making parsing / type checking / transformations faster parser Related to Ezno's syntax parser, AST definitions and output
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant