X-Git-Url: https://git.distorted.org.uk/~mdw/ssr/blobdiff_plain/a3da4c116d4216fdec125d687dfc347e343a8b28..c1b567d833a004bb3d978f1f7c99f42cefa7845c:/StraySrc/Libraries/Sapphire/bsh/flex.bas diff --git a/StraySrc/Libraries/Sapphire/bsh/flex.bas b/StraySrc/Libraries/Sapphire/bsh/flex.bas new file mode 100644 index 0000000..9602136 --- /dev/null +++ b/StraySrc/Libraries/Sapphire/bsh/flex.bas @@ -0,0 +1,62 @@ +REM Sapphire flex macro library -- © 1994 Straylight + +DEF FNflex_test=0 + +REM --- Support functions --- + +DEF FNflex__m(mask$) +LOCAL reg$,sep$,mask%,r%,s%,i% +mask%=0 +WHILE FNflex__g(mask$,reg$,sep$) + IF reg$="" THEN ERROR 1,"Expected register, found `"+sep$+"'" + r%=EVAL(reg$) + IF sep$="-" THEN + IF FNflex__g(mask$,reg$,sep$) THEN + IF reg$="" THEN ERROR 1,"Expected register, found `"+sep$+"'" + IF sep$="-" THEN ERROR 1,"Unexpected `-' in register list" + s%=EVAL(reg$) + IF s%