Skip to content
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

ezr² RE v1.0.0 #3

Draft
wants to merge 115 commits into
base: master
Choose a base branch
from
Draft

ezr² RE v1.0.0 #3

wants to merge 115 commits into from

Conversation

Uralstech
Copy link
Owner

@Uralstech Uralstech commented Oct 31, 2024

ezr² is being rewritten. With a ton of new features, bugfixes, and more! It's nowhere near ready, but this is a draft pull request for when it will be.

ezr² RE v1.0.0 will not be the full release of ezr². Version 1.0.0 only guarantees that it will be feature-compatible with the latest non-RE version of ezr².

Uralstech and others added 30 commits May 10, 2023 18:47
It was only being used in one place.
- Changes to the Lexer.
 - '\r' characters are just skipped now.
 - All consecutive newlines are now grouped together into one TokenType.NewLine Token.
- Changes to the Parser.
 - _result.RegisterAdvance() has been removed and functionality moved to Parser.Advance(), because all calls to it are succeeded by Parser.Advance().
 - _result.Reverse() has also been removed for the same reasons.
 - SkipNewLines() has been removed as its functionality can now be replaced by a simple "if (_currentToken.Type == TokenType.NewLine) Advance();".
- A few changes to EzrSquared.csproj.
- EzrCommon:
 - Added new Advance() function without currentChar argument as it was being used more often.
- EzrParser
 - Updated ParseExpression() and ParseQuickExpression() functions!
 - New CurrentTokenInOperators() function in BinaryOperation() for checking if _currentToken is a desired operator.
 - In ParseInversion(), the checking order of the QuickSyntax and normal syntax versions of the expression has been switched.
 - In ParseAtom(), the creation of ValueNodes and local VariableAssignmentNodes have been moved to the 'default' case of the switch-case block for better readability.
- All instances of null checking in all scripts have been changed from '== null' to 'is null' and '!= null' to 'is not null'.

NOTE: The shell has not been updated as I am still experimenting performance updates for ezrSquared using stopwatches in EzrShell.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
Status: Todo
Development

Successfully merging this pull request may close these issues.

1 participant