Closed 0xF6 closed 2 months ago
The changes span various components of the project, introducing new functionalities, refining existing features, and implementing checksum methods for file handling. Specific updates include conditional logic for the DryRun
setting, syntax positioning enhancements, scope-aware variable handling, refined command-line arguments, improved task scheduling, and extensive new test cases. These updates collectively enhance syntax parsing, variable scope resolution, and testing robustness, boosting the overall stability and functionality of the codebase.
File(s) | Change Summary |
---|---|
compiler/Properties/launchSettings.json |
Added a new command for specific build parameters. |
compiler/cmd/NewCommand.cs |
Added a condition to save files only if DryRun is false. |
...ax/syntax/Statement.cs |
Added .Positioned() calls to various statement types. |
...ax/syntax/ast/DeleteStatementSyntax.cs |
Added methods and initialized properties for positioning information. |
...ax/syntax/ast/FailStatementSyntax.cs |
Refactored class structure, updated constructor, and added SetPos method. |
...ax/syntax/ast/IfStatementSyntax.cs |
Reformatted class and updated constructor/property initialization, added SetPos method. |
...ax/syntax/ast/WhileStatementSyntax.cs |
Updated constructor/property initialization and added SetPos method. |
.../expressions/TypeExpression.cs |
Modified constructor and added a ToString method. |
runtime/ishtar.generator/GeneratorContext.cs |
Refined variable access within the CurrentScope object. |
runtime/ishtar.generator/VeinScope.cs |
Added conditional logic for handling variables in scope. |
...ar.generator/generators/access.cs |
Refactored variable access and scope resolution logic. |
...ar.generator/generators/emitters.cs |
Improved formatting of the EmitBlock method. |
...ar.generator/generators/operators.cs |
Added logic for handling AccessFlags.VARIABLE in EmitAssignExpression method. |
runtime/ishtar.vm/Properties/launchSettings.json |
Updated command line arguments for the "run external_test" configuration. |
runtime/ishtar.vm/VirtualMachine.cs |
Disposed of task scheduler, refactored exec_method , added cases in ForceFail . |
.../collections/AtomicNativeDictionary.cs |
Modified TryGetValue to initialize value parameter to default before calling TryGet . |
.../runtime/io/TaskScheduler.cs |
Added stop() method, debug prints in execute_scheduler , and refactored thread creation. |
test/vc_test/Features/FaultFeatureTest.cs |
Introduced new tests for fault handling in the syntax parser. |
test/vc_test/Features/WhileFeatureTest.cs |
Introduced new tests for while statements in Vein language parser. |
sequenceDiagram
participant User
participant Compiler
participant NewCommand
User->>Compiler: Execute New Command
Compiler->>NewCommand: Invoke Execute Method
NewCommand->>NewCommand: Check if DryRun
alt is DryRun
NewCommand->>NewCommand: Skip Saving Files
else not DryRun
NewCommand->>NewCommand: Save Project Files
NewCommand->>NewCommand: Write app.vein Content
end
NewCommand-->>Compiler: Completion Status
Compiler-->>User: Operation Complete
sequenceDiagram
participant SyntaxTree
participant TypeExpression
participant FailStatementSyntax
participant IfStatementSyntax
participant WhileStatementSyntax
SyntaxTree->>TypeExpression: Create TypeExpression with TypeSyntax
TypeExpression->>TypeExpression: ToString Method
SyntaxTree->>FailStatementSyntax: Create FailStatementSyntax with ExpressionSyntax
FailStatementSyntax->>FailStatementSyntax: SetPos Method
SyntaxTree->>IfStatementSyntax: Create IfStatementSyntax with ExpressionSyntax, ThenStatement, ElseStatement
IfStatementSyntax->>IfStatementSyntax: SetPos Method
SyntaxTree->>WhileStatementSyntax: Create WhileStatementSyntax with ExpressionSyntax, StatementSyntax
WhileStatementSyntax->>WhileStatementSyntax: SetPos Method
In the realm of code, so bright, New commands and tests take flight. Syntax bends to mark its spot, Parsing smoothly, errors not. Task Scheduler bounds in glee, Debug prints, a lively spree. Let us cheer this grand parade, Code now stronger, well displayed! 🐰✨
Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?
Summary by CodeRabbit
New Features
"compile vein test 5"
for specific build parameters.FaultFeatureTest.cs
) andwhile
statements (WhileFeatureTest.cs
).Bug Fixes
app.vein
content is only written ifDryRun
is false inNewCommand
.Refactor
Tests
while
statement parsing.Chores
launchSettings.json
.TaskScheduler
.