Releases: AssembleProgramming/AssembleScript
🐞 Fix functionality of != operator
Types of Changes
- Bugfix (non-breaking change that addresses an issue)
- Refactoring (code optimization or restructuring)
Template Literals
- Updated the lexer and parser to tokenize and parse template literals correctly.
- Added support for template interpolations in the form of '@{expression}'.
- Created an abstract syntax tree (AST) representation for template literals with interpolations.
- Improved error handling for missing or mismatched backticks in template literals.
Compound Assignment Operators
Compound Assignment Operators
We are excited to announce the release of AssembleScript v2.0.4, which introduces support for compound assignment operators! These operators allow you to perform arithmetic operations and assignments in a single step, enhancing code efficiency and readability.
Key Features
- Compound Assignment Operators: You can now use compound assignment operators like
+=
,-=
.*=
,/=
,%=
, and^=
in your AssembleScript code.
What's New
This release includes the following updates:
-
Parser Enhancements: We've updated the parser to recognize compound assignment expressions, making it easier to work with complex calculations.
-
Evaluation Logic: Implementation of evaluation logic for each compound assignment operator ensures that your code performs as expected.
-
Lexer Tokenization: The lexer has been enhanced to tokenize compound assignment operators, making them an integral part of your code syntax.
-
Comprehensive Testing: We've added extensive test cases to ensure the correctness and reliability of this new functionality, guaranteeing a seamless development experience.
Bug Fix In wakandaFor loop
This release addresses
- Bug fix: Variable declaration in wakandaFor loop
- Code Quality: Improved code design in interpreter.
Introducing the new way to declare string in AssembleScript.
Release Description
- Introducing a new way to declare strings in AssembleScript (now declare strings with single quotes.)
newAvenger name = 'Iron Man';
vision(name); #op : Iron Man
🛡️ Happy Coding!!!
🚀 New For Loop Syntax
Release Description
With this Release you can enjoy new for-loop syntax in AssembleScript
- For Each Loop
Use case: Use thewakandaForEach
keyword for loops. Declare a new variable, specify the condition, and execute the code within the loop. Use step to increment or decrement the value of an iterator.
Syntax:
wakandaForEach(i in 10 to 20){
vision(i);
}
vision();
wakandaForEach(i in 10 to 0 step 2){
vision(i);
}
- For Loop
Use Case: Use the wakandaFor keyword for loops. Declare a new variable, specify the condition, and execute the code within the loop.
Syntax
wakandaFor(newAvenger i = 0; i < 20; i = i + 1){
vision(i);
}
🛡️ Happy Coding!!!
v2.0.0 Introducing user-defined functions and many more features.....
Release Changelog
Changes Made
-
User-Defined Functions: Added support for user-defined functions in Assemble Script. Now users can define their functions to modularize their code and improve readability.
-
New Function: Introduced a native function
assertEqual
for testing. -
New Keywords: Added
assemble
andsnap
keywords to enhance language functionality. -
Max Array Size Limit: Increased the maximum size limit of arrays in Assemble Script to 10,000,000. This enhancement allows users to work with larger datasets and arrays.
-
Bug Fix: Fixed the bug causing issues with the
break
statement in loops. -
Bug Fix: Resolved the issue with the default return type of the
if-else
statement, which was undefined. Now the default return type isnull
. -
New Data Type: Created a new runtime value type
boolean
, enabling boolean operations in the language. -
Bug Fix: Fixed the assignment to boolean-type values.
-
Bug Fix: Resolved the bug that prevented the declaration of variable-length arrays.
-
Bug Fix: Addressed heap overflow caused by string multiplication.
-
Bug Fix: Handling infinite loops in
wakandaFor
loop. -
Improved Error Messages: Enjoy clearer and more professional error messages, helping you debug with ease!
-
Advanced Arrays: Now enjoy dynamic size arrays, empowering your code with more flexibility!
-
Easter Egg Hunt: Unravel hidden surprises as you code, making programming a thrilling adventure!
v1.1.0 Infinite Loop Iteration Limit
Programming Language v1.1.0 Release - Infinite Loop Iteration Limit 🚀
Change Log
-
New Feature
- Infinite Loop Iteration Limit
- Added support for setting an iteration limit to upto 1million iterations for loops to prevent infinite loops.
-
Bug Fixes
- Fixed memory leak issue in the garbage collector.
- Resolved crashes caused by concurrent thread access to shared resources.
- Improved performance of the compiler by optimizing code generation.
v1.0.1 Strict Type Checking
Release v1.0.1 - Strict Type Checking
We are pleased to announce the release of version 1.0.1 of our AssembleScript. This release focuses on enhancing security measures and introducing strict type-checking capabilities. The following features and improvements have been implemented:
Strict Type Checking
- Introduced strict type checking to enforce stronger type safety in code.
- Added support for static type analysis to catch type errors at compile time.
We encourage all users to upgrade to this version to benefit from the improved security measures and stricter type-checking capabilities. Please refer to the documentation for detailed information on using the latest version.
v1.0.0 - Initial setup
Changelog
- The initial release was created! 🎉 This includes:
- Basic codebase.
- Sample usage, and more.
- Support for various programming syntax