Shi
Loading...
Searching...
No Matches
Interpret loop

This graph is a more detailed version of the one on the Shi mainpage.

dot_inline_dotgraph_3.png

if...else...then

case...of...endof...endcase

begin...until begin...while...repeat

do...loop/+loop do...if...leave then...loop/+loop

if -> ( – orig1 ) else -> ( orig1 – orig2 ) then -> ( orig1 | orig2 – )

begin -> ( – dest ) until -> ( dest – )

begin -> ( – dest ) while -> ( dest – orig dest ) repeat -> ( orig dest – )

Sonderwürschtl:

  • else setzt das unterste bit von orig damit then unterscheiden kann obs an conditional oder unconditional branch auflösen muss
  • leave und endof haben zählvariablen für ihr "lvl", des is notwendig damit die csp, routine nur die sprünge schreibt die fürs aktuelle nest-lvl notwendig sind. Das heißt von jetzt an kann ma leave und endof beliebig nesten... (zumindest bis 128 lvls tief :D )

Ausserdem dass es nur mehr 1x conditional branch funktion gibt und das "template" fürn OPCODE vorher am stack landet