Monday, August 13, 2018

SSTNPL

SBTCVM for the longest time, only had one programming language: SBTCVM Assembly. However, with Gen 2, that's going to change. In fact, it already has.
Presenting SSTNPL:

SBTCVM Simplified Ternary Numeric Programming Language.

Overall SSTNPL isn't ultra-high-level. For example: it supports in-line assembler and its loop and branching capacity is provided by several goto instructions. 

Yea i know, the 'dreaded' goto. But SSTNPL isn't meant to be super abstracted. Its mainly meant as a lower-level language, that abstracts much of the VM's more detailed behaviors, while letting people experiment with them if they wish, and aren't ready to tackle the assembler head-on. It can also be handy for quick math algorithms.

Features:
  • built upon a named-integer variable system
  • both static, and equals, greater, and less than gotos. (goto, if, ifmore, ifless)
  • addresses and memory are handled automatically, using the assembler's builtin variable system.
  • simple, easy to follow, syntax.
  • quick formatting commands like 'space' and 'newline' paired with the new print, and dumpd/dumpt integer dump commands, make outputting algorithm results a breeze. 
For more information, check out the included example *.stnp programs and the shiny new stnpcom.py compiler, in SBTCVM gen2-9's repository:
https://github.com/SBTCVM/SBTCVM-Gen2-9