Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/guevara-chan/stasis-project
/Stack-based virtual processor/
https://github.com/guevara-chan/stasis-project
embeddable forth-like purebasic rpn stack-based vm
Last synced: about 5 hours ago
JSON representation
/Stack-based virtual processor/
- Host: GitHub
- URL: https://github.com/guevara-chan/stasis-project
- Owner: Guevara-chan
- Created: 2015-04-02T00:07:14.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2019-09-02T16:45:51.000Z (about 5 years ago)
- Last Synced: 2023-02-26T18:46:21.816Z (over 1 year ago)
- Topics: embeddable, forth-like, purebasic, rpn, stack-based, vm
- Language: PureBasic
- Size: 77.1 KB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# /Sum/:
__Stasis__ is a highly experimental virtual machine project, inspired by _CIL_ and _Forth_ languages.
It was designed embeddable and easily extensible, though not really meant for scripting atm.
❗ There are no documentation provided yet, so some reverse-engineering skills is crucial ❗# /Featuræ/:
* 2bytecode-based extensible instruction set with most x86 operations (including FPU) covered.
* Lightweight (~100Kb) interpeter with basic string and OS microlibraries included.
* Forth-esque assembly language compiler with some ideas burrowed from [Rebol](http://www.rebol.com/).
* Common structured programming toolset (loops, if/else/then, switch) provided.
* Minimalistic snapshot binary format with import/export tables support.
* Extensive binary data embedding (including external files) directives.
* Direct memory management and IO access.
* Basic compile-time calculations support.
* Forward subroutine referencing support.
* Classical case-insensetive syntax.
* Extensive namespace support.# /Reassembling/:
__Stasis__ was developed as OS-independent [PureBasic v4.40](http://purebasic.com) project, though compatible with *5.7x (LTS)*.
Compile `StasisVM.pb` or `StasisForth.pb` to assemble snapshot intepreter and compiler respectively.# /Brief samples of interfacing/:
![image](https://user-images.githubusercontent.com/8768470/46802627-88c88100-cd66-11e8-9a8d-96669f399293.png)
![image](https://user-images.githubusercontent.com/8768470/46802748-eb218180-cd66-11e8-91a7-8c290100a891.png)