Repository navigation
Releases: CaptioDev/simplestackscript
Release list
v1.0.0
What's Changed
- Change JUMP syntax, limit functionality to prepare for dev4 IF, LOOP takes in label instead of line number by @MaskedMatters in #1
- Refactor all feature/control-flow code for reusability and readability, deleted unnecessary opcodes by @MaskedMatters in #2
- Complete v1.0.0 for a full stable release - Added features and refactor by @MaskedMatters in #3
New Contributors
- @MaskedMatters made their first contribution in #1
Full Changelog: v0.2.10...v1.0.0
v1.0.0-dev3
Overall Summary
You will now get graceful errors when you illegally PUSH, PRINT, JUMP, LOOP, or WAIT incorrectly. You must use quotations in the PRINT opcode but you can use double or single quotations marks. A graceful error will raise when trying to divide by zero. You can now comment in your code using a #. The HALT opcode is technically no longer needed, but still very much recommended. We have also changed the name of our programming language to, S# (SSharp) instead of S3. They still stand for the same thing.
Here is an example using new features and bug fixes:
PRINT "Hello, world!" # This is a PRINT opcode
PRINT 'Hello, world!' # This one works as well!
WAIT 1000 # Wait's 1 second
PUSH 0
PUSH 1
DIV # Tries to do 1/0, raises error
PRINT Hallo! # Raises error
PUSH foo # Raises error
# Etc...
🚀 Features
feat: Added validity checks for PUSH, PRINT, JUMP (and similar), LOOP and WAIT by @MaskedMatters in 5c0d396
feat: PRINT supports double and single quot. by @MaskedMatters in 5c0d396
feat: Add validity checks for DIV (ZeroDevisionError) by @MaskedMatters in a6bd21b
🐛 Fixes
fix/docs: Comments now work, .gitignore updated, README updated by @MaskedMatters in 51aaf58
fix: Once pointer counter reaches the end without a HALT, it should HALT anyways by @MaskedMatters in 236a2c9
fix: Rename S3 to S# in all files by @CaptioDev in 1a8d667
Full Changelog: v1.0.0-dev2...v1.0.0-dev3
Version 1.0.0-dev2
Full Changelog: v1.0.0-dev1...v1.0.0-dev2
This release added the ability to add comments to your S3 code. This allows users to comment out buggy or faulty code, instructions, or just documentation. This is something essential to all programming languages.
Version 1.0.0-dev1
Full Changelog: v0.2.10...v1.0.0-dev1
Version 1.0.0-dev1 Release Notes
This is the first development release for version 1.0.0, marking a significant step forward in the Simple Stack Script (S3) language. This release introduces crucial control flow mechanisms, improves tokenization efficiency, and includes important project maintenance updates.
New Features:
-
JUMP Instruction: The JUMP instruction has been fully implemented and tested. It allows unconditional jumps to labeled locations within the S3 program. Labels can be defined anywhere in the code (forward references are now supported thanks to a two-pass approach). The syntax is
JUMP <label_name>. -
LOOP Instruction: The LOOP instruction has been implemented, providing a way to repeat blocks of code a specified number of times. The syntax is
LOOP <line_number> <count>.
Enhancements:
- Efficient Tokenization: The tokenization process has been optimized for improved performance, especially for larger S3 programs. This update streamlines the initial parsing of the S3 code.
Maintenance:
- Updated .gitignore: The .gitignore file has been updated to exclude unnecessary files and directories, ensuring a cleaner project structure and more efficient version control.
Known Issues:
- This is a development release; therefore, there may be undiscovered bugs or unexpected behavior. Thorough testing is underway. Feedback is highly appreciated.
- Further testing is needed to ensure compatibility with a wide range of S3 programs.
Call for Testing:
We encourage users to experiment with the new JUMP and LOOP instructions and provide feedback on their functionality and any issues encountered. Your input is invaluable in helping us stabilize and improve the S3 language.
v0.2.10
Full Changelog: v0.2.9...v0.2.10
This release updates the README.md file with better examples to help users understand how to use the S3 language. It also updates the s3 help output to reflect the latest changes and resources.
Version 0.2.9
Full Changelog: v0.2.8...v0.2.9
This release updates the README.md file to provide clearer information for users on PyPI. It also updates the setup.py file to use the README.md content as the package's long description on PyPI.
Version 0.2.8
Full Changelog: v0.2.7...v0.2.8
This release corrects the implementation of the DIV instruction in the interpreter, resolving issues with division calculations.
Version 0.2.7
Full Changelog: v0.2.3...v0.2.7
This release addresses the following:
- File Structure: The project's file structure has been corrected to ensure proper packaging and imports. This fixes import errors and ensures the package can be built and installed correctly.
- SUB Instruction: The SUB instruction in the interpreter has been fixed to correctly perform subtraction.
- .gitignore: A .gitignore file has been added to prevent unnecessary files (e.g., build artifacts, temporary files) from being included in the Git repository.
The following releases before this release were deleted:
v0.2.4
v0.2.5
v0.2.6
The versions above are not available for download on GitHub, if you would like to install these broken versions, you may do so on the Python Package Index (PyPi), doing so is not suggested.
Version 0.2.3
Full Changelog: v0.2.2...v0.2.3
This release addresses inconsistencies in versioning across files and ensures that the .whl and .tar.gz distribution packages contain the correct and up-to-date code.
Version 0.2.2
Full Changelog: v0.2.0...v0.2.2
This release addresses issues with file naming related to Python packaging. File names in the s3_package directory and references to those files in setup.py and s3.py have been corrected.