Recent Releases of kipper

kipper - Kipper v0.13.0-alpha.2

https://www.npmjs.com/package/kipper/v/0.13.0-alpha.2

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.13.0-alpha.1

https://www.npmjs.com/package/kipper/v/0.13.0-alpha.1

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.13.0-alpha.0

https://www.npmjs.com/package/kipper/v/0.13.0-alpha.0

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.1

Bug Fix Update

v0.12.1 - 2025-02-17

  • Fixed PropertyNotFoundTypeError being thrown as a stand-alone error instead of being set as the cause for any parent assignment operation failure. @Luna-Klatzer
  • Fixed PropertyNotFoundTypeError being checked for in the wrong direction i.e. that otherT had to have all the properties of thisT instead of the other way around (which is the correct way). @Luna-Klatzer
  • Fixed indexable checks for str and Array<T> being accidentally turned off by incorrect logic. This caused ValueTypeNotIndexableWithGivenAccessorTypeError to be only thrown for objects and not for arrays and strings. @Luna-Klatzer

Full Details

View on NPM: kipper@0.12.1 Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Kipper-Lang/Kipper/compare/v0.12.0...v0.12.1

- TypeScript
Published by github-actions[bot] over 1 year ago

kipper - Kipper v0.12.0

Interfaces & Classes Update

v0.12.0 - 2024-09-25

New Features

  • Implemented match expression for checking objects against interface types using pattern matching (#692) @Luna-Klatzer @lorenzholzbauer
  • Implemented instanceof expression for checking against class instances (#691) @Luna-Klatzer @ByteWolf-dev
  • Implemented this keyword for accessing internal class members and "ahead of time" type evaluation for recursive types (#698) @Luna-Klatzer
  • Implemented high-level typeof operator expression & internal meta types for arrays and functions (#688) @lorenzholzbauer
  • Implemented new keyword to be able to instantiate objects (#689) @ByteWolf-dev
  • Implemented function calls from lambdas, stored variables and expressions (#681) @Luna-Klatzer
  • Implemented support for arrays in built-in function len() (#680) @Luna-Klatzer
  • Added support for dot notation member access syntax (parent.field) (#678) @ByteWolf-dev
  • Implemented index-based array assignments (#677) @Luna-Klatzer
  • Add support for built-in constant NaN (#676) @Luna-Klatzer
  • Added classes with class properties, class methods and constructors (#675) @ByteWolf-dev
  • Implemented Func<T..., R> generic function type and auto-function type inference (#673) @Luna-Klatzer
  • Added full object support and translation for JavaScript & TypeScript targets (#660) @ByteWolf-dev
  • Implemented Array<T> type and constant array initialisation expression syntax (#662) @Luna-Klatzer
  • Added syntax and internal representation for interfaces (#657) @ByteWolf-dev

Full Details

View on NPM: kipper@0.12.0 Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Kipper-Lang/Kipper/compare/v0.11.0...v0.12.0

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-rc.0

https://www.npmjs.com/package/kipper/v/0.12.0-rc.0

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-beta.0

https://www.npmjs.com/package/kipper/v/0.12.0-beta.0

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-alpha.6

https://www.npmjs.com/package/kipper/v/0.12.0-alpha.6

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-alpha.5

https://www.npmjs.com/package/kipper/v/0.12.0-alpha.5

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-alpha.4

https://www.npmjs.com/package/kipper/v/0.12.0-alpha.4

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-alpha.3

https://www.npmjs.com/package/kipper/v/0.12.0-alpha.3

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-alpha.2

https://www.npmjs.com/package/kipper/v/0.12.0-alpha.2

- TypeScript
Published by Luna-Klatzer over 1 year ago

kipper - Kipper v0.12.0-alpha.1

https://www.npmjs.com/package/kipper/v/0.12.0-alpha.1

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.12.0-alpha.0

https://www.npmjs.com/package/kipper/v/0.12.0-alpha.0

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.11.0

Config and Basic Functionality Update

v0.11.0 - 2024-07-10

New Features

  • Implemented Lambda Expressions (#650) @lorenzholzbauer
  • Added support for compiler behaviour modifying pragma comments (#595) @ByteWolf-dev
  • Implemented JavaScript-like bitwise operators (#577) @lorenzholzbauer
  • Implemented ternary conditional expression (#565) @ByteWolf-dev
  • Implemented do-while loop statement (#533) @ByteWolf-dev
  • Added support for string multiplication str * num (#528) @lorenzholzbauer
  • Add config file support for @kipper/cli (#519) @Luna-Klatzer

Bug Fixes

  • Fixed bug of regular errors being reported as unexpected cli error despite expected failure (#502, #510) @Luna-Klatzer
  • Fixed bug where the -t flag was shown as possible alias for the flag --log-timestamp in the compile command (#479, #510) @Luna-Klatzer

Other Changes

  • Standardised error output of the @kipper/cli (#489, #510) @Luna-Klatzer
  • Removed deprecated flag --abort-on-first-error (#651) @Luna-Klatzer
  • Removed command analyse and replaced it with compile command --dry-run flag (#535) @Luna-Klatzer
  • AST Restructuring & Mapping Update (#507) @Luna-Klatzer

Dependency Updates

6 changes * fix(deps): update dependency @oclif/command to v1.8.36 (dev-next) (#611) @renovate * chore(deps): update actions/setup-node action to v4 (dev-next) (#626) @renovate * chore(deps): update github/codeql-action action to v3 (dev-next) (#639) @renovate * chore(deps): update release-drafter/release-drafter action to v6 (dev-next) (#642) @renovate * fix(deps): update dependency @oclif/plugin-warn-if-update-available to v3 (dev-next) (#644) @renovate * chore(deps): update pnpm/action-setup action to v4 (dev-next) (#641) @renovate

Full Details

View on NPM: kipper@0.11.0 Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Kipper-Lang/Kipper/compare/v0.10.4...v0.11.0

- TypeScript
Published by github-actions[bot] almost 2 years ago

kipper - Kipper v0.11.0-rc.0

https://www.npmjs.com/package/kipper/v/0.11.0-rc.0

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.11.0-beta.0

https://www.npmjs.com/package/kipper/v/0.11.0-beta.0

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.11.0-alpha.8

https://www.npmjs.com/package/kipper/v/0.11.0-alpha.8

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.11.0-alpha.7

https://www.npmjs.com/package/kipper/v/0.11.0-alpha.7

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.11.0-alpha.6

https://www.npmjs.com/package/kipper/v/0.11.0-alpha.6

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.11.0-alpha.5

https://www.npmjs.com/package/kipper/v/0.11.0-alpha.5

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.11.0-alpha.4

https://www.npmjs.com/package/kipper/v/0.11.0-alpha.4

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - v0.11.0-alpha.3

https://www.npmjs.com/package/kipper/v/0.11.0-alpha.3

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - v0.11.0-alpha.2

https://www.npmjs.com/package/kipper/v/0.11.0-alpha.2

- TypeScript
Published by Luna-Klatzer almost 2 years ago

kipper - Kipper v0.10.4

Bug Fix Update

v0.10.4 - 2023-08-15

Bug Fixes

  • Fixed bug of regular errors being reported as unexpected cli error despite expected failure (#502) @Luna-Klatzer

Other Changes

  • Added CITATION.cff file and set up Zenodo DOI registration (external) (#504) @Luna-Klatzer

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Kipper-Lang/Kipper/compare/v0.10.3...v0.10.4

- TypeScript
Published by github-actions[bot] almost 3 years ago

kipper - Kipper v0.10.3

Bug Fix Update

v0.10.3 - 2023-07-22

Bug Fixes

  • Fixed bug where the -t flag was shown as possible alias for the flag --log-timestamp in the compile command (#479) @Luna-Klatzer

Other Changes

  • Standardised error output of the @kipper/cli (#489) @Luna-Klatzer

Dependency Updates

  • Update dependency @oclif/command to v1.8.31 (#459) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Kipper-Lang/Kipper/compare/v0.10.2...v0.10.3

- TypeScript
Published by github-actions[bot] almost 3 years ago

kipper - Kipper v0.10.2

Bug Fix Update

v0.10.2 - 2023-06-16

Bug Fixes

  • Fixed bug of invalid underline indent in error traceback (#469) @Luna-Klatzer
  • Fixed bug of internal error being thrown after a redeclaration of a variable (#463) @Luna-Klatzer

Dependency Updates

  • Update dependency @oclif/command to v1.8.26 (#438) @renovate
  • Update dependency @oclif/plugin-warn-if-update-available to v2.0.37 (#407) @renovate
  • Update dependency tslib to ~2.5.0 (#432) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.10.1...v0.10.2

- TypeScript
Published by Luna-Klatzer almost 3 years ago

kipper - Kipper v0.10.1

Bug Fix Update

v0.10.1 - 2023-02-21

Bug Fixes

  • Fixed bug causing useless statement warning not being raised for an arithmetic expression (#427) @Luna-Klatzer

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.10.0...v0.10.1

- TypeScript
Published by github-actions[bot] over 3 years ago

kipper - Kipper v0.10.0

Function, Loop and Functionality Update

v0.10.0 - 2023-02-19

New Features

  • Implemented warnings for useless statements statements without assignment or value modification (#420) @Luna-Klatzer
  • Implemented built-in constant variable __name__ returning the name of the currently running Kipper file (#418) @Luna-Klatzer
  • Implemented control flow statements continue and break for loop statements (#417) @Luna-Klatzer
  • Implemented built-in function len() to get the length of a string (#416) @Luna-Klatzer
  • Implemented for-loop iteration statement (#415) @Luna-Klatzer
  • Added syntax support for single line comments using newline separators (#404) @Luna-Klatzer
  • Implemented member access bracket and slice notation syntax for accessing strings (#402) @Luna-Klatzer
  • Implemented while-loop iteration statements (#350) @Luna-Klatzer
  • Implemented unary and postfix operators ++ and -- (#333) @Luna-Klatzer
  • Implemented full support for custom-defined functions, function arguments and return-value code branch inspection (#325) @Luna-Klatzer
  • Implemented new JavaScript target and standalone web package for the Kipper Compiler (#279) @Luna-Klatzer
  • Implemented arithmetic assignment operators +=, -=, *=, /= and %= (#276) @Luna-Klatzer
  • Implemented error recovery for the Kipper Compiler (#261) @Luna-Klatzer

Dependency Updates

  • Removed typescript as a direct dependency (8606654cd7638d902a79afc98232c331110a1036) @Luna-Klatzer

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.9.2...v0.10.0

- TypeScript
Published by Luna-Klatzer over 3 years ago

kipper - Kipper v0.9.2

Bug Fix Update

v0.9.2 - 2022-07-23

Bug Fixes

  • Fixed traceback bug for re-declarations inside compound statements generating an invalid error message and traceback (#252) @Luna-Klatzer

Dependency Updates

15 changes * Update dependency @types/sinon to v10.0.13 (#251) @renovate * Update dependency eslint to v8.20.0 (#249) @renovate * Update typescript-eslint monorepo to v5.30.7 (#250) @renovate * Update dependency oclif to v3.1.1 (#246) @renovate * Update typescript-eslint monorepo to v5.30.6 (#241) @renovate * Update dependency ts-node to v10.9.1 (#245) @renovate * Update typescript-eslint monorepo to v5.30.5 (#233) @renovate * Update dependency oclif to v3.1.0 (#238) @renovate * Update dependency uglify-js to v3.16.2 (#231) @renovate * Update typescript-eslint monorepo to v5.30.4 (#224) @renovate * Update dependency eslint to v8.19.0 (#227) @renovate * Update dependency ts-node to v10.8.2 (#228) @renovate * Update dependency coverage-badge-creator to v1.0.12 (#216) @renovate * Update typescript-eslint monorepo to v5.30.0 (#217) @renovate * Update dependency @types/sinon to v10.0.12 (#221) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.9.1...v0.9.2

- TypeScript
Published by github-actions[bot] almost 4 years ago

kipper - Kipper v0.9.1

Bug Fix Update

v0.9.1 - 2022-06-29

Bug Fixes

  • Fixed formatting bug in Kipper tracebacks and updated error messages @Luna-Klatzer

Dependency Updates

  • Update dependency coverage-badge-creator to v1.0.12 (#216) @renovate
  • Update typescript-eslint monorepo to v5.30.0 (#217) @renovate
  • Update dependency @types/sinon to v10.0.12 (#221) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.9.0...v0.9.1

- TypeScript
Published by github-actions[bot] almost 4 years ago

kipper - Kipper v0.9.0

If-Statement and Logical Expression Update

v0.9.0 - 2022-06-26

New Features

  • Added partial support for semantic analysis warnings using CompilableASTNode.checkForWarnings() (#211) @Luna-Klatzer
  • Comparative and relational expressions, which allow for logical operations and comparisons on expressions. List of all supported operators, which can be used between two expressions: (#207) @Luna-Klatzer
    • != (Not Equal Operator)
    • == (Equal Operator)
    • > (Greater than Operator)
    • >= (Greater or equal to Operator)
    • < (Less than Operator)
    • <= (Less or equal to Operator)
  • Logical expressions, which allow for the chaining and combination of expressions and conditions. List of all available supported operators, which can be used between two expressions/conditions: (#207) @Luna-Klatzer
    • && (Logical And Operator)
    • || (Logical Or Operator)
  • Operator modified expressions, which allow for the modification of an expression using a specific operator. List of all supported operators: (#207) @Luna-Klatzer
    • ! (Logical NOT Operator)
    • + (Plus Operator)
    • - (Minus Operator)
  • Implemented if, else-if and else statements (selection statements) (#207) @Luna-Klatzer
  • Added support for binary, octal and hex numbers (#206) @Luna-Klatzer
  • Implemented translation of tangled primary expressions (#204) @Luna-Klatzer
  • Implemented translation of expression lists to TypeScript (#202) @Luna-Klatzer

Dependency Updates

  • Update typescript-eslint monorepo to v5.29.0 (#205) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.8.3...v0.9.0

- TypeScript
Published by github-actions[bot] almost 4 years ago

kipper - Kipper v0.8.3

Bug Fix Update

v0.8.3 - 2022-06-18

Bug Fixes

  • Fixed const assignment bug, which allowed assignments to read-only variables. (#190) @Luna-Klatzer
  • Fixed undefined const bug, which allowed the creation of undefined constants. (#190) @Luna-Klatzer

Dependency Updates

  • Update dependency eslint to v8.18.0 (#196) @renovate
  • Update dependency prettier to v2.7.1 (#192) @renovate
  • Update dependency uglify-js to v3.16.1 (#194) @renovate
  • Update dependency typescript to v4.7.4 (#195) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.8.2...v0.8.3

- TypeScript
Published by github-actions[bot] almost 4 years ago

kipper - Kipper v0.8.2

Bug Fix Update

v0.8.2 - 2022-06-14

Bug Fixes

  • Fixed multiple bugs in Kipper.g4 causing invalid recognition issues. @Luna-Klatzer
  • Optimised white space handling in Kipper.g4 and improved the speed of the Kipper Compile by removing manual spaces in rules. @Luna-Klatzer

Dependency Updates

  • Update dependency prettier to v2.7.0 (#185) @renovate
  • Update typescript-eslint monorepo to v5.28.0 (#179) @renovate
  • Pin dependencies (#176) @renovate
  • Update actions/checkout action to v3 (#177) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.8.1...v0.8.2

- TypeScript
Published by github-actions[bot] almost 4 years ago

kipper - Kipper v0.8.1

Bug Fix Update

v0.8.1 - 2022-06-09

Bug Fixes

  • Replaced outdated "Not Implemented" errors in KipperFileListener with proper KipperNotImplementedError errors in the Statement AST node classes. @Luna-Klatzer
  • Fixed grammar issue in Kipper.g4, which resulted in spaces being syntactically invalid inside an empty function argument list. @Luna-Klatzer

Dependency Updates

  • Update dependency eslint to v8.17.0 (#170) @renovate
  • Update dependency uglify-js to v3.16.0 (#171) @renovate
  • Update typescript-eslint monorepo to v5.27.1 (#172) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.8.0...v0.8.1

Full Changelog: https://github.com/Luna-Klatzer/Kipper/compare/v0.8.0...v0.8.1

- TypeScript
Published by github-actions[bot] almost 4 years ago

kipper - Kipper v0.8.0

Types and Code Generation Update

v0.8.0 - 2022-06-07

New Features

  • Implemented tree shaking for internal and built-in functions (#163) @Luna-Klatzer
  • Updated internal scope handling system (#163) @Luna-Klatzer
  • Implemented primitive type conversions for num, str and bool (#146) @Luna-Klatzer
  • Updated target code generation system and added target-specific built-in functions generation (#138) @Luna-Klatzer
  • Implemented boolean constants true and false (#136) @Luna-Klatzer
  • Updated compilation error tracebacks to be more concise and useful (#135) @Luna-Klatzer

Bug Fixes

  • Fixed bug allowing internal kipper identifiers and target reserved keywords to be overwritten by user definitions (#154) @Luna-Klatzer

Dependency Updates

9 changes * Update typescript-eslint monorepo to v5.27.1 (#160) @renovate * Update dependency uglify-js to v3.16.0 (#158) @renovate * Update dependency ts-node to v10.8.1 (#149) @renovate * Update dependency typescript to v4.7.3 (#150) @renovate * Update dependency eslint to v8.17.0 (#151) @renovate * Update typescript-eslint monorepo to v5.27.0 (#141) @renovate * Update pnpm/action-setup action to v2.2.2 (#140) @renovate * Update dependency typescript to v4.7.2 (#137) @renovate * Update typescript-eslint monorepo to v5.26.0 (#129) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.7.0...v0.8.0

- TypeScript
Published by github-actions[bot] almost 4 years ago

kipper - Kipper v0.7.0

Variables Update

v0.7.0 - 2022-05-22

New Features

  • Implemented KipperSemanticChecker and KipperTypeChecker (#125) @Luna-Klatzer
  • Added simplified flags using single character names (-c) (#113) @Luna-Klatzer
  • Added flag -s/--stringCode to CLI commands compile, run and analyse to allow the use of Kipper code strings as command line arguments (#112) @Luna-Klatzer
  • Implemented Kipper variable declarations, variable definitions and variable assignments (#101) @Luna-Klatzer

Bug Fixes

  • Optimised speed of Kipper by updating the parsing of Kipper expressions. Kipper should run a lot faster from this release on. @Luna-Klatzer
  • Fixed string concatenation bug causing an invalid evaluation of the return type of string expressions (#120) @Luna-Klatzer
  • Fixed bug where two or more arithmetic expressions with the same modifying operator have an incomplete translation (#119) @Luna-Klatzer
  • Removed unnecessary cli traceback when encountering compiler runtime errors in Kipper (#115) @Luna-Klatzer
  • Fixed NULL character bug when writing generated TypeScript code onto files using the utf16le encoding (#114) @Luna-Klatzer
  • Fixed bug causing no error to be thrown when using invalid arithmetic expressions, where the first expression is of type string (#106) @Luna-Klatzer

Other Changes

  • Restructured @kipper/core package (#123) @Luna-Klatzer
  • Added CONTRIBUTING.md (#105) @Luna-Klatzer
  • Updated local Kipper package dependencies (#98) @Luna-Klatzer

Dependency Updates

6 changes * Update dependency ts-node to v10.8.0 (#122) @renovate * Update dependency eslint to v8.16.0 (#116) @renovate * Update typescript-eslint monorepo to v5.25.0 (#102) @renovate * Lock file maintenance (#99) @renovate * Pin dependency ts-mocha to 10.0.0 (#97) @renovate * Update typescript-eslint monorepo to v5.24.0 (#92) @renovate

Full Details

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.6.0...v0.7.0

- TypeScript
Published by github-actions[bot] about 4 years ago

kipper - Development Release v0.6.0

Types and Arithmetics Update

v0.6.0 - 2022-05-16

New Features

  • Implemented expression type checking, expression type evaluation and function type (#90) @Luna-Klatzer
  • Added KipperNotImplementedError, which is thrown whenever a feature is used that is not supported in Kipper yet. (#90) @Luna-Klatzer
  • Implemented basic arithmetic expressions (#88) @Luna-Klatzer

Dependency Updates

13 changes * Lock file maintenance (#91) @renovate * Lock file maintenance (#83) @renovate * Update github/codeql-action action to v2 (#82) @renovate * Update dependency @types/sinon to v10 (#81) @renovate * Update dependency @sinonjs/fake-timers to v9 (#80) @renovate * Update dependency @oclif/test to v2 (#78) @renovate * Update dependency @oclif/plugin-help to v5 (#77) @renovate * Update actions/setup-node action to v3 (#76) @renovate * Update pnpm/action-setup action to v2.2.1 (#72) @renovate * Update EndBug/add-and-commit action to v9 (#73) @renovate * Update actions/checkout action to v3 (#74) @renovate * Pin dependencies (#69) @renovate * Configured Renovate dependency checking for Kipper (#68) @renovate

Full Changelog

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.5.0...v0.6.0

- TypeScript
Published by github-actions[bot] about 4 years ago

kipper - Development Release v0.5.0

Structural and Compile-Target Update

v0.5.0 - 2022-05-11

New Features

  • Implemented the ability to define more than one target for the Kipper language (#52) @Luna-Klatzer
  • New @kipper/cli commands (#56) @Luna-Klatzer
    • kipper version - Returns the currently installed Kipper version.
    • kipper update - Updates the CLI if a new version is available.

Other Changes

  • Updated project structure - Made this repo a monorepo for @kipper/core and @kipper/cli (#56) @Luna-Klatzer

Dependency Updates

5 changes * Bump @types/node from 17.0.31 to 17.0.32 (#60) @dependabot * Bump uglify-js from 3.15.4 to 3.15.5 (#61) @dependabot * Bump @typescript-eslint/eslint-plugin from 5.22.0 to 5.23.0 (#59) @dependabot * Bump @typescript-eslint/parser from 5.22.0 to 5.23.0 (#58) @dependabot * Bump eslint from 8.14.0 to 8.15.0 (#54) @dependabot

Full Changelog

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.4.0...v0.5.0

- TypeScript
Published by github-actions[bot] about 4 years ago

kipper - Development Release v0.4.0

Logging and Syntax Error Update

v0.4.0 - 2022-05-03

New Features

  • Implemented getTraceback() for KipperSyntaxError (#44) @Luna-Klatzer

Bug Fixes

  • Fixed default antlr4 error listeners printing onto stdout (#45) @Luna-Klatzer
  • Fixed missing logs for compilation errors and internal errors (#43) @Luna-Klatzer
  • Fixed missing traceback line hinting (#25) @Luna-Klatzer

Other Changes

  • Removed Utils namespace from utils.ts (#46) @Luna-Klatzer
  • Fixed oudated version identifier in src/index.ts (#35) @Luna-Klatzer

Dependency Updates

17 changes * Bump @typescript-eslint/parser from 5.21.0 to 5.22.0 (#47) @dependabot * Bump @types/node from 17.0.30 to 17.0.31 (#48) @dependabot * Bump mocha from 9.2.2 to 10.0.0 (#49) @dependabot * Bump @typescript-eslint/eslint-plugin from 5.21.0 to 5.22.0 (#50) @dependabot * Bump ts-node from 10.6.0 to 10.7.0 (#37) @dependabot * Bump typescript from 4.5.5 to 4.6.4 (#38) @dependabot * Bump coverage-badge-creator from 1.0.10 to 1.0.11 (#39) @dependabot * Bump chai from 4.3.4 to 4.3.6 (#40) @dependabot * Bump uglify-js from 3.15.3 to 3.15.4 (#27) @dependabot * Bump @types/node from 10.17.60 to 17.0.30 (#29) @dependabot * Bump nyc from 14.1.1 to 15.1.0 (#31) @dependabot * Bump @types/mocha from 5.2.7 to 9.1.1 (#28) @dependabot * Bump eslint from 7.32.0 to 8.14.0 (#23) @dependabot * Bump @typescript-eslint/parser from 5.4.0 to 5.21.0 (#20) @dependabot * Bump @typescript-eslint/eslint-plugin from 5.4.0 to 5.21.0 (#21) @dependabot * Bump prettier from 2.4.1 to 2.6.2 (#19) @dependabot * Bump tslib from 2.3.1 to 2.4.0 (#22) @dependabot

Full Changelog

Detailed Changelog: CHANGELOG.md Compare Changes: https://github.com/Luna-Klatzer/Kipper/compare/v0.3.0...v0.4.0

- TypeScript
Published by github-actions[bot] about 4 years ago

kipper - Development Release v0.3.0

Exception and Semantic Analysis Update

v0.3.0 - 2022-04-28

Added

  • Implemented handling of declarations and definitions, where definitions can only appear once. ( Reassignments are not counted as definitions!)
  • Traceback handling using KipperErorr.getTraceback() and KipperError.setMetadata.
  • New namespace Utils with new function getTokenSource() and determineScope().
  • New errors FunctionDefinitionAlreadyExistsError and VariableDefinitionAlreadyExistsError, which are raised if definition rules are violated.
  • Project version information constants in index.ts.
  • Implemented abstract classes to differentiate error groups: InvalidOverwriteError and IdentifierError.
  • KipperInternalError, which is raised in case there is an internal error/bug.

Updated

  • Renamed definition errors:
    • DuplicateVariableDefinitionError to IdentifierAlreadyUsedByVariableError
    • DuplicateFunctionDefinitionError to IdentifierAlreadyUsedByFunctionError
  • Renamed antlrContext to antlrCtx across all files.
  • Changed behaviour of the assert system:
    • All assertion will if possible now handled using the expression KipperProgramContext.assert(ctx).ASSERT_FUNC().
    • Assertions should happen in the semanticAnalysis() step.
    • Registrations and updates of stack information should also happen in the semanticAnalysis() step to properly compile top to bottom. (For now there is no support for calling functions that are defined afterwards in the file. So a pre-declaration is required!)
  • Updated behaviour of CompilableParseToken to determine semantics and semantic types using generic classes. This means all semantic data is now stored using the get and setter CompilableParseToken.semanticData.

Removed

  • Method CompilableParseToken.compileCtx() added in 0.2.0, and split the handling of the semantic analysis and compilation into two separate stages. This means that before compilation, all children will be semantically analysed. Starting from the bottom/the simplest tokens working upwards as the tokens get more complicated.
  • Unneeded private tracking of _currentScope in KipperFileListener, as the scope handling system has been replaced with a dynamic determination using semanticAnalysis().

- TypeScript
Published by Luna-Klatzer about 4 years ago

kipper - Development Release v0.2.1

v0.2.1 - 2022-04-22

Added

  • Updated kipper-standalone global identifier behaviour and added support for WebWorkers.

- TypeScript
Published by Luna-Klatzer about 4 years ago

kipper - Development Release v0.2.0

v0.2.0 - 2022-04-13

"Hello world!" release! :) This release now allows simple programs with the built-in print() function. Variables will be the next goal in the next release!

Added

  • Created new class CompileAssert, which is used to assert certain compiler-required truths, which, if false, trigger corresponding errors.
  • New errors UnknownVariableDefinition and UnknownFunctionDefinition.
  • New getter CompilableParseToken.tokenStream, which returns the programCtx.tokenStream instance.
  • Created new expression class ArgumentExpressionList representing an argument list inside function calls.
  • New function KipperCompileResult.write(), which creates a human-readable string from the generated source code.
  • Added new property and constructor parameter logLevel, which defines which messages should be logged. (Only messages with equal or higher importance will be logged).
  • Added class name insertion for custom Kipper errors by setting the name property explicitly.

Updated

  • Changed execution of most compilation functions to async.
  • Replaced DuplicateIdentifierError with DuplicateVariableDefinitionError and DuplicateFunctionDefinitionError.
  • Renamed NoBuiltInOverwriteError to BuiltInOverwriteError.
  • Made all getMetadata functions /tokens/ instance-methods, removing all required parameters.
  • Changed compilation result from Array<string> to Array<Array<string>>, where each nested array represents a line combined of string tokens.
  • Set explicit children type for expressions and statements, instead of letting them inherit the children type from CompilableParseToken.
  • Set return type of compileCtx to Array<string> in children classes of Expression.
    • Changed visibility of CompilableParseToken.semanticAnalysis() and CompilableParseToken.translateCtxAndChildren() to protected, as they will be replaced and tied together using CompilableParseToken.compileCtx().
  • Replaced compilation in RootParseToken.translateCtxAndChildren with RootParseToken.compileCtx().
  • Changed values of LogLevel to numeric values, which can be translated into strings using getLogLevelString().

Removed

  • Functions RootParseToken.semanticAnalysis() and RootParseToken.translateCtxAndChildren

- TypeScript
Published by Luna-Klatzer about 4 years ago

kipper - Development Release v0.1.2

v0.1.2 - 2022-04-06

Added

  • Implemented simple scope logic by adding the scope property to all Statement classes and creating a tracking variable called _currentScope in KipperFileListener, which will be updated while processing the parse tree.
  • Added variable metadata handling in VariableDeclaration. The class will now on construction determine its identifier, storage type, value type and state (whether it was defined yet) using its antlr4 context instance.
  • Added errors NoBuiltInOverwriteError, UnableToDetermineMetadataError and UnknownTypeError.
  • Added new abstract base class ScopeDeclaration, which is the parent class for the already existing ScopeVariableDeclaration and the added ScopeFunctionDeclaration.
  • Implemented KipperProgramContext.globalScope, which contains all global variables and function definitions.
  • Implemented support for function definitions that will be from now on automatically registered globally.

Updated

  • Renamed class ScopeDeclaration to ScopeVariableDeclaration and updated its constructor to require a token (VariableDeclaration instance), which will automatically set the properties (identifier, storage type, value type, scope and state).
  • Rearranged constructor arguments of KipperParseStream to stringContent, name, charStream, and set name to default to "anonymous-script".
  • Updated CompoundStatement children behaviour, by adding a new array localScope, which will store the metadata for all variables exclusively available in that compound statement.

- TypeScript
Published by Luna-Klatzer about 4 years ago

kipper - Development Release v0.1.1

(This is almost identical to version 0.1.0, which has been deprecated due to tsnode being missing in the main dependencies. This was fixed in 0.1.1)

v0.1.0/v0.1.1 - 2022-04-01

Added

  • KipperFileListener.itemBuffer, which will contain the generated TypeScript code-lines, that were generated in the walking step.
  • Basic KipperFileContext, which will serve as the base class, where the compilation data is stored.
  • General namespace import of kipper in kipper-standalone.ts, which allows the usage of the entire library.
  • KipperFileContext.translate(), which walks through the listener and returns the generated code. The generated code will be cached inside KipperFileContext.typescriptCode to allow reusing code instead of unnecessarily generating code again.
  • LogLevel.UNKNOWN as the default log level for LogLevel.
  • KipperLogger.levels as a static variable to access the enum LogLevel.
  • New abstract base class CompilableParseToken, which will represent the major parse tokens inside a kipper program. The token class has the additional functionality of wrapping an entire antlr4 statement, expression or block, and being able to semantically analyse it using semanticAnalysis() and translate it to TypeScript using translateCtxAndChildren().
  • Properties parser, lexer, errorHandler and tokenStream inside the class KipperFileContext.
  • File builtIns.ts, which defines the behaviour on how to define built-in items inside a kipper program. This primarily includes global functions, which can be represented using the interface BuiltInFunction. (In work!)
  • Implemented ** (Power-to) as a valid arithmetic expression.
  • Implemented RuntimeCompileConfig and CompileConfig, which may be passed onto KipperCompile.compile() to configure the compilation behaviour.
  • Implemented new module /compiler/tokens, which contains the parse token implementations.
  • Implemented basic global function print that will be available inside a Kipper program per default (unless forcibly changed).
  • New Class ScopeDeclaration representing a declaration/entry inside a scope. This is used primarily inside KipperProgramContext, which uses it to keep track of global definitions and also CompoundStatements, which may have children definitions.
  • Type Implementation with two new type aliases: KipperStorageType and KipperType.

Changed

  • Made return of KipperCompiler.parse() to KipperFileContext, which wraps the generated parse tree.
  • Behaviour of KipperCompileResult, which will now store the programCtx: KipperFileContext and result: string[] of a compilation.
  • Fixed bug in KipperErrorListener, which resulted in errors being not properly raised. The function is now a template, where <T> represents the offending token. <T> will also be passed onto KipperSyntaxError<T>.
  • Changed type of LogLevel, which now returns string-representations of the log level.
  • Fixed initializer rule in Kipper.g4 and removed invalid designator rules.
  • Updated all expressions in Kipper.g4 to contain proper labelled sub-rules, which clearly state if the expression is used or if it's a pass on and an expression with higher importance is used (child of that expression).
  • Renamed KipperFileContext to KipperProgramContext, which will now handle the entire compilation and store its meta-data.

Removed

  • Unneeded namespace KipperStreams and its functions.
  • Unneeded variable LogLevelNames, as now the enum LogLevel per default returns the names of the level.
  • Removed preferLogging options in the entire module, as errors and warnings will always be logged no matter what. This also means that errors will always be logged and thrown as a catchable error instance.
  • Argument streamName in KipperCompiler.syntaxAnalyse() and KipperCompiler.compile().

- TypeScript
Published by Luna-Klatzer about 4 years ago

kipper - Development Release v0.0.5

v0.0.5 - 2022-03-02

Changed

  • Fixed invalid publish of the module on npm

- TypeScript
Published by Luna-Klatzer over 4 years ago

kipper - Development Release v0.0.3

v0.0.3 - 2022-03-02

Added

  • Build Option for the browser-compatible script kipper-standalone.js
  • Basic run command for running a compiled file or compiling and running a file. (This is still in development).
  • Basic compile command for compiling a file into it's js-counterpart with its typescript types added.
  • New Parse Stream class KipperParseStream, which implements a basic Utf-16 stream.
  • Support for [] initializers for lists in Kipper.g4.
  • Support for multiItemTypeSpecifier, which use the identifier<T> syntax (for lists specifically).
  • Support for typeof(V) (typeofTypeSpecifier) syntax for typeSpecifier expressions.
  • Support for Kipper-Conversion identifier as typeSpecifier syntax.
  • Support for for-loops using the for(INIT_EXPRESSION; CONDITION, LOOP_EXPRESSION) STATEMENT syntax.
  • New Map LogLevelNames, which will map LogLevel enum values to constant strings (e.g. LogLevel.CRITICAL -> "CRITICAL").

Changed

  • Fixed syntax bug in Kipper.g4 that caused typed arguments to not be able to passed to functions.
  • Updated handling of the KipperLogger, which will now only use an emitHandler, which can be defined by the user. This means the user entirely decides how to handle the logging output of the compiler, and there is no default logging anymore.

Removed

  • Oclif CLI, which will be released in another package separate to this one, as this will be made to suit the usage inside a browser.
  • KipperParseFile, which will be implemented in the NodeJS CLI implementation for Kipper

- TypeScript
Published by Luna-Klatzer over 4 years ago

kipper - Development Release v0.0.2

v0.0.2 - 2021-11-23

Added

  • oclif environment with the appropriate tests
  • /test/module for module specific tests using mocha
  • KipperErrorListener<Token> for listening to KipperParser and KipperLexer errors
  • ParserFile for implementing the stream that may be used for KipperCompiler.parser()

Changed

  • Updated file structure to separate commands (for oclif) and compiler (for the compiler source-code)

- TypeScript
Published by Luna-Klatzer over 4 years ago