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

v0.11.0-alpha.6 #542

Merged
merged 37 commits into from
Jul 1, 2024
Merged

v0.11.0-alpha.6 #542

merged 37 commits into from
Jul 1, 2024

Conversation

Luna-Klatzer
Copy link
Member

What type of change does this PR perform?

  • Maintenance (Non-breaking change that updates dependencies)
  • Info or documentation change (Non-breaking change that updates repo info files (e.g. README.md, CONTRIBUTING.md, etc.) or online documentation)
  • Website feature update or docs development changes (Change that changes the design or functionality of the websites or docs)
  • Development or internal changes (These changes do not add new features or fix bugs, but update the code in other ways)
  • Bug fix (Non-breaking change which fixes an issue)
  • New feature (Non-breaking change which adds functionality)
  • Breaking change (Major bug fix or feature that would cause existing functionality not to work as expected.)
  • Requires a documentation update, as it changes language or compiler behaviour

Summary

New development version 0.11.0-alpha.6, which removes the analyse command, adds support for do-while loops and adds syntax support for objects (no semantic analysis or translation).

List of Changes

  • Added parser rules for objects expressions and object properties.
  • Added new object expression and object property AST node.
  • Implemented semantic analysis for DoWhileLoopIterationStatement and target translation to JavaScript and TypeScript.
  • Removed constant expression type and made them all primary expressions.
  • Removed CLI command analyse.
  • Added --dry-run flag to the CLI command compile.

Does this PR create new warnings?

None.

Detailed Changelog

Added

  • Implemented Do-While-Loop (do ... while ...) iteration statements. (#271)
  • New CLI flag --dry-run in compile, which only compiles the program and does not write any outputs. (#532).
  • New classes:
    • ObjectPrimaryExpression, which represents an AST object primary expression.
    • ObjectProperty, which represents an AST object property.

Changed

  • Renamed:
    • Method TargetASTNodeCodeGenerator.arrayLiteralExpression to arrayPrimaryExpression.
    • Method TargetASTNodeSemanticAnalyser.listPrimaryExpression to arrayPrimaryExpression.

Removed

  • Removed CLI command analyse in favor of the flag --dry-run in the CLI command compile. (#532).
  • Removed AST parent class ConstantExpression, its interfaces ConstantExpressionSemantics and ConstantExpressionTypeSemantics, as they were not really needed and unnecessarily added another level of complexity to the AST. All classes which previously inherited from ConstantExpression now inherit from PrimaryExpression instead.

Linked issues or PRs

Luna-Klatzer and others added 30 commits November 5, 2023 13:03
…-for-objects-literals-object-definition

Implemented syntax for objects literal expressions (object definition)
…le-loop-statement

Implemented do-while loop statement
Luna-Klatzer and others added 2 commits July 1, 2024 21:09
…mand-analyse-and-replace-it-with-compile-dry-run

Removed command `analyse` and replaced it with `compile` command `--dry-run` flag
@Luna-Klatzer Luna-Klatzer self-assigned this Jul 1, 2024
@Luna-Klatzer Luna-Klatzer requested review from a team and lorenzholzbauer and removed request for a team July 1, 2024 19:17
@Luna-Klatzer Luna-Klatzer added release New release of the Kipper module. skip changelog Do not include in the changelog when a new release is drafted labels Jul 1, 2024
@Luna-Klatzer Luna-Klatzer added this to the v0.11.0 milestone Jul 1, 2024
Copy link
Contributor

github-actions bot commented Jul 1, 2024

size-limit report 📦

Path Size Loading time (3g) Running time (snapdragon) Total time
./kipper/web/kipper-standalone.min.js 137.24 KB (0%) 2.8 s (0%) 381 ms (+39.83% 🔺) 3.2 s
./kipper/web/kipper-standalone.js 137.28 KB (0%) 2.8 s (0%) 401 ms (+65.98% 🔺) 3.2 s

Copy link

codecov bot commented Jul 1, 2024

Codecov Report

Attention: Patch coverage is 82.50000% with 35 lines in your changes missing coverage. Please review.

Project coverage is 83.16%. Comparing base (738ff13) to head (8869ef0).

Files Patch % Lines
...ct-primary-expression/object-primary-expression.ts 37.50% 10 Missing ⚠️
...mary-expression/object-property/object-property.ts 33.33% 10 Missing ⚠️
kipper/cli/src/commands/compile.ts 54.54% 2 Missing and 3 partials ⚠️
kipper/target-js/src/built-in-generator.ts 20.00% 4 Missing ⚠️
kipper/cli/src/commands/run.ts 25.00% 3 Missing ⚠️
kipper/target-js/src/code-generator.ts 85.71% 2 Missing ⚠️
...src/compiler/parser/antlr/base/KipperParserBase.ts 87.50% 1 Missing ⚠️
Additional details and impacted files
@@            Coverage Diff             @@
##             next     #542      +/-   ##
==========================================
- Coverage   83.47%   83.16%   -0.32%     
==========================================
  Files         205      207       +2     
  Lines        3613     3653      +40     
  Branches      410      416       +6     
==========================================
+ Hits         3016     3038      +22     
- Misses        424      440      +16     
- Partials      173      175       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@Luna-Klatzer Luna-Klatzer merged commit f358282 into next Jul 1, 2024
29 of 31 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release New release of the Kipper module. skip changelog Do not include in the changelog when a new release is drafted
Projects
Development

Successfully merging this pull request may close these issues.

2 participants