diff --git a/autotests/input/test.rexx b/autotests/input/test.rexx --- a/autotests/input/test.rexx +++ b/autotests/input/test.rexx @@ -0,0 +1,52 @@ +/* REXX */ +ASCB_PTR = C2X(STORAGE(D2X(X2D("224")),4)) +SAY X2B(ASCB_PTR) +/* COMMENTS */ +/****************************************************************** + END OF COMMENTS */ +SAY 'ENTER YOUR NAME' +PULL NAME +DO WHILE NAME \= 'QUIT' + SAY 'HELLO THERE' NAME + PULL NAME +END +X = OUTTRAP('LU.') +"LU" +X = OUTTRAP('OFF') +SAY 'THE NUMBER OF LINES:' LU.0 +DO I = 1 TO LU.0 + SAY LU.I /* SAYS THE OUTPUT FROM LU */ +END +SAY 'GOOD-BYE.' +IF DATE('D') \= "13" THEN DO + Y = TESTSELECT(15,'RAD') + SAY Y + SAY Y || " <-- TESTSELECT" +END +EXIT 1 +/* FUNCTIONS */ +TESTSELECT: PROCEDURE /* TESTING SELECT */ + PARSE ARG NUM CAR . + SELECT + WHEN NUM < 25 THEN + STATUS = "25%" + WHEN NUM < 50 THEN + DO + IF CAR = 'RAD' THEN + STATUS = 'DOPE' + ELSE + STATUS = 'SICK' + END + WHEN NUM < 200 THEN DO + NOP + END + WHEN NUM < 75 THEN + STATUS = 'SEVENTY FIVE' + OTHERWISE + IF CAR = 'RAD' THEN + STATUS = 'COOL' + STATUS = 'COOL' + ELSE + STATUS = 'RADICAL' +END +RETURN STATUS diff --git a/data/syntax/rexx.xml b/data/syntax/rexx.xml --- a/data/syntax/rexx.xml +++ b/data/syntax/rexx.xml @@ -1,99 +1,164 @@ - + - - arg - drop - else - end - exit - forever - if - interpret - iterate - leave - nop - options - otherwise - pull - push - queue - return - say - select - syntax - then - - - abbrev - abs - address - bitand - bitor - bitxor - b2x - center - charin - charout - chars - c2d - c2x - compare - condition - copies - datatype - date - delstr - delword - digits - d2c - d2x - errortext - form - format - fuzz - insert - lastpos - left - linein - lineout - lines - max - min - overlay - pos - queued - random - reverse - right - sign - sourceline - space - stream - strip - substr - subword - symbol - time - trace - translate - trunc - value - verify - word - wordindex - wordlength - wordpos - words - xrange - x2b - x2c - x2d - + + ADDRESS + ARG + CALL + DROP + EXIT + INTERPRET + NOP + NUMERIC + OPTIONS + PARSE + PROCEDURE + PULL + PUSH + QUEUE + RETURN + SAY + SYNTAX + TRACE + UPPER + RC + RESULT + SIGL + + + VALUE + WITH + RESULT + DIGITS + SCIENTIFIC + ENGINEERING + FORM + FUZZ + ALL + COMMANDS + ERROR + FAILURE + Intermediates + LABELS + NORMAL + OFF + RESULTS + + + do + to + by + for + while + until + leave + iterate + forever + + + select + when + then + otherwise + do + if + else + end + + + ABBREV + ABS + ADDRESS + ARG + B2X + BITAND + BITOR + BITXOR + C2D + C2X + CHARS + CHARIN + CHARSIN + CENTER + CENTRE + COMPARE + CONDITION + COPIES + D2C + D2X + DATATYPE + DATE + DBCS + DELSTR + DELWORD + DIGITS + ERRORTEXT + EXTERNALS + FIND + FORM + FORMAT + FUZZ + GETMSG + INDEX + INSERT + JUSTIFY + LASTPOS + LEFT + LENGTH + LINEIN + LINEOUT + LINESIZE + LISTDSI + MAX + MIN + MSG + MVSVAR + OUTTRAP + OVERLAY + POS + PROMPT + QUEUED + RANDOM + REVERSE + RIGHT + SETLANG + SIGN + SOURCELINE + SPACE + STORAGE + STRIP + STREAM + SUBSTR + SUBWORD + SYMBOL + SYSCPUS + SYSDSN + SYSVAR + TIME + TRACE + TRANSLATE + TRUNC + USERID + VALUE + VERIFY + WORD + WORDINDEX + WORDLENGTH + WORDPOS + WORDS + X2B + X2C + X2D + XRANGE + + + + + @@ -117,11 +182,12 @@ - + + - +