< { assembler -01 . } ":" deff { assemblerLibrary -01 . } "::" deff assembler .|label "@" deff "%" _ : -01 deff { .value elymas .base10decode ==v [ # allocate int ::internalAllocateInteger /rax :movqImmReg /rax :callqReg # push int address on program stack /rax :pushqReg # type zero does not need to be changed # load value 8 /rax :addqImm8Reg v /rdx :movqImmReg /rdx /rax :movqRegMem ] :execute } /TOKINT { .value ::constStringCode :execute } /TOKSTR { .value ::constStringCode [ global .internalExecuteIdentifier /rax :movqImmReg /rax :callqReg ] cat :execute } /TOKID > -- 3 |defv rep { /input defv "" { 4096 input .readstr cat _ "" streq not } { { _ "([^\\n]*)\\n(.*)" regex } { -102 -- TOKINT TOKSTR TOKID elymas .tokenize { _ .handle # assemblerLibrary .stackDump # assemblerLibrary .globalScopeDump } each } loop } loop -- } /executeFile deff # vim: syn=elymas