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
PropertyNotFoundTypeErrorbeing thrown as a stand-alone error instead of being set as the cause for any parent assignment operation failure. @Luna-Klatzer - Fixed
PropertyNotFoundTypeErrorbeing checked for in the wrong direction i.e. thatotherThad to have all the properties ofthisTinstead of the other way around (which is the correct way). @Luna-Klatzer - Fixed indexable checks for
strandArray<T>being accidentally turned off by incorrect logic. This causedValueTypeNotIndexableWithGivenAccessorTypeErrorto 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
matchexpression for checking objects against interface types using pattern matching (#692) @Luna-Klatzer @lorenzholzbauer - Implemented
instanceofexpression for checking against class instances (#691) @Luna-Klatzer @ByteWolf-dev - Implemented
thiskeyword for accessing internal class members and "ahead of time" type evaluation for recursive types (#698) @Luna-Klatzer - Implemented high-level
typeofoperator expression & internal meta types for arrays and functions (#688) @lorenzholzbauer - Implemented
newkeyword 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
-tflag was shown as possible alias for the flag--log-timestampin thecompilecommand (#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
analyseand replaced it withcompilecommand--dry-runflag (#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) @renovateFull 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
-tflag was shown as possible alias for the flag--log-timestampin thecompilecommand (#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
continueandbreakfor 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) @renovateFull 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.g4causing invalid recognition issues. @Luna-Klatzer - Optimised white space handling in
Kipper.g4and 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
KipperFileListenerwith properKipperNotImplementedErrorerrors 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,strandbool(#146) @Luna-Klatzer - Updated target code generation system and added target-specific built-in functions generation (#138) @Luna-Klatzer
- Implemented boolean constants
trueandfalse(#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) @renovateFull 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
KipperSemanticCheckerandKipperTypeChecker(#125) @Luna-Klatzer - Added simplified flags using single character names (
-c) (#113) @Luna-Klatzer - Added flag
-s/--stringCodeto CLI commandscompile,runandanalyseto 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
utf16leencoding (#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/corepackage (#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) @renovateFull 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) @renovateFull 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/clicommands (#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/coreand@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) @dependabotFull 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()forKipperSyntaxError(#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
Utilsnamespace fromutils.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) @dependabotFull 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()andKipperError.setMetadata. - New namespace
Utilswith new functiongetTokenSource()anddetermineScope(). - New errors
FunctionDefinitionAlreadyExistsErrorandVariableDefinitionAlreadyExistsError, which are raised if definition rules are violated. - Project version information constants in
index.ts. - Implemented abstract classes to differentiate error groups:
InvalidOverwriteErrorandIdentifierError. KipperInternalError, which is raised in case there is an internal error/bug.
Updated
- Renamed definition errors:
DuplicateVariableDefinitionErrortoIdentifierAlreadyUsedByVariableErrorDuplicateFunctionDefinitionErrortoIdentifierAlreadyUsedByFunctionError
- Renamed
antlrContexttoantlrCtxacross all files. - Changed behaviour of the
assertsystem:- 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!)
- All assertion will if possible now handled using the expression
- Updated behaviour of
CompilableParseTokento determine semantics and semantic types using generic classes. This means all semantic data is now stored using the get and setterCompilableParseToken.semanticData.
Removed
- Method
CompilableParseToken.compileCtx()added in0.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
_currentScopeinKipperFileListener, as the scope handling system has been replaced with a dynamic determination usingsemanticAnalysis().
- 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
UnknownVariableDefinitionandUnknownFunctionDefinition. - New getter
CompilableParseToken.tokenStream, which returns theprogramCtx.tokenStreaminstance. - Created new expression class
ArgumentExpressionListrepresenting 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
nameproperty explicitly.
Updated
- Changed execution of most compilation functions to async.
- Replaced
DuplicateIdentifierErrorwithDuplicateVariableDefinitionErrorandDuplicateFunctionDefinitionError. - Renamed
NoBuiltInOverwriteErrortoBuiltInOverwriteError. - Made all
getMetadatafunctions/tokens/instance-methods, removing all required parameters. - Changed compilation result from
Array<string>toArray<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
compileCtxtoArray<string>in children classes ofExpression.- Changed visibility of
CompilableParseToken.semanticAnalysis()andCompilableParseToken.translateCtxAndChildren()toprotected, as they will be replaced and tied together usingCompilableParseToken.compileCtx().
- Changed visibility of
- Replaced compilation in
RootParseToken.translateCtxAndChildrenwithRootParseToken.compileCtx(). - Changed values of
LogLevelto numeric values, which can be translated into strings usinggetLogLevelString().
Removed
- Functions
RootParseToken.semanticAnalysis()andRootParseToken.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
scopeproperty to allStatementclasses and creating a tracking variable called_currentScopeinKipperFileListener, 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,UnableToDetermineMetadataErrorandUnknownTypeError. - Added new abstract base class
ScopeDeclaration, which is the parent class for the already existingScopeVariableDeclarationand the addedScopeFunctionDeclaration. - 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
ScopeDeclarationtoScopeVariableDeclarationand updated its constructor to require a token (VariableDeclarationinstance), which will automatically set the properties (identifier, storage type, value type, scope and state). - Rearranged constructor arguments of
KipperParseStreamtostringContent, name, charStream, and setnameto default to"anonymous-script". - Updated
CompoundStatementchildren behaviour, by adding a new arraylocalScope, 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
kipperinkipper-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 insideKipperFileContext.typescriptCodeto allow reusing code instead of unnecessarily generating code again.LogLevel.UNKNOWNas the default log level forLogLevel.KipperLogger.levelsas a static variable to access the enumLogLevel.- 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 usingsemanticAnalysis()and translate it to TypeScript usingtranslateCtxAndChildren(). - Properties
parser,lexer,errorHandlerandtokenStreaminside the classKipperFileContext. - 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 interfaceBuiltInFunction. (In work!) - Implemented
**(Power-to) as a valid arithmetic expression. - Implemented
RuntimeCompileConfigandCompileConfig, which may be passed ontoKipperCompile.compile()to configure the compilation behaviour. - Implemented new module
/compiler/tokens, which contains the parse token implementations. - Implemented basic global function
printthat will be available inside a Kipper program per default (unless forcibly changed). - New Class
ScopeDeclarationrepresenting a declaration/entry inside a scope. This is used primarily insideKipperProgramContext, which uses it to keep track of global definitions and alsoCompoundStatements, which may have children definitions. - Type Implementation with two new type aliases:
KipperStorageTypeandKipperType.
Changed
- Made return of
KipperCompiler.parse()toKipperFileContext, which wraps the generated parse tree. - Behaviour of
KipperCompileResult, which will now store theprogramCtx: KipperFileContextandresult: 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 ontoKipperSyntaxError<T>. - Changed type of
LogLevel, which now returns string-representations of the log level. - Fixed
initializerrule in Kipper.g4 and removed invalid designator rules. - Updated all expressions in
Kipper.g4to 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
KipperFileContexttoKipperProgramContext, which will now handle the entire compilation and store its meta-data.
Removed
- Unneeded namespace
KipperStreamsand its functions. - Unneeded variable
LogLevelNames, as now the enumLogLevelper default returns the names of the level. - Removed
preferLoggingoptions 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
streamNameinKipperCompiler.syntaxAnalyse()andKipperCompiler.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
runcommand for running a compiled file or compiling and running a file. (This is still in development). - Basic
compilecommand 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 theidentifier<T>syntax (for lists specifically). - Support for
typeof(V)(typeofTypeSpecifier) syntax fortypeSpecifierexpressions. - Support for Kipper-Conversion
identifier as typeSpecifiersyntax. - Support for for-loops using the
for(INIT_EXPRESSION; CONDITION, LOOP_EXPRESSION) STATEMENTsyntax. - New Map
LogLevelNames, which will mapLogLevelenum 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 anemitHandler, 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
oclifenvironment with the appropriate tests/test/modulefor module specific tests usingmochaKipperErrorListener<Token>for listening toKipperParserandKipperLexererrorsParserFilefor implementing the stream that may be used forKipperCompiler.parser()
Changed
- Updated file structure to separate
commands(foroclif) andcompiler(for the compiler source-code)
- TypeScript
Published by Luna-Klatzer over 4 years ago