REXX

Материал из ЭНЭ
Перейти к: навигация, поиск

REXX (рекс) — интерпретируемый язык программирования, разработанный фирмой IBM. Существуют как коммерческие, так и свободно распространяемые реализации данного языка.

Русский народный калькулятор

Пример программы на рексе — калькулятор, выполняющий шесть операций (+,-,*,/,//,% - сложение, вычитание, умножение, деление, деление нацело, остаток от деления), понимающий операции со скобками и произвольное количество переменных:

 /* calc.cmd  наpодный калькулятоp (с) 1998 */
 SAY 'Русский наpодный калькулятоp v0.0'
 XX = "X="; X0 = "X=X"
   SAY 'Введите выpажение или Q для завершения'
 DO FOREVER
   PULL v
   IF v = 'Q'  THEN  LEAVE 
   S=LEFT(v,1)
   IF(DATATYPE(S,'A'))
     THEN
     DO
       IF(POS('=',v) = 0)
          THEN
          DO  
              INTERPRET XX  v 
              SAY 'X=' X 
          END
          ELSE   
                 INTERPRET  v
     END
   ELSE
     DO  
        INTERPRET X0  v
        SAY 'X=' X 
     END
 END
EXIT

Пример выполнения программы (> обозначен ввод пользователя) :

Русский наpодный калькулятоp v0.0
Введите выpажение или Q для завершения
>300+(12.5*2+5)
X= 330.0
>Y=X*2
>Y+2
X= 662.0
>+33
X= 695.0
>+123
X= 818.0
>/10
X= 81.8
>//2
X= 1.8
>+1024
X= 1025.8
>%4
X= 256

Ссылки

Коллекции утилит на rexx или для использования в рексе: