Rexx - базовый синтаксис
Чтобы понять основной синтаксис Rexx, давайте сначала посмотрим на простую программу Hello World.
пример
/* Main program */
say "Hello World"
Видно, насколько проста программа hello world. Это простая строка сценария, которая используется для выполнения программы Hello World.
В отношении вышеуказанной программы необходимо отметить следующее:
В say command используется для вывода значения на консоль.
В /* */ используется для комментариев в Rexx.
Результатом вышеуказанной программы будет -
Hello World
Общая форма заявления
В Rexx давайте посмотрим на общий вид программы. Взгляните на следующий пример.
/* Main program */
say add(5,6)
exit
add:
parse arg a,b
return a + b
Результатом вышеуказанной программы будет -
11
Давайте рассмотрим то, что мы поняли из приведенной выше программы -
Добавить - это функция, предназначенная для сложения двух чисел.
В основной программе значения 5 и 6 используются в качестве параметров функции добавления.
Ключевое слово exit используется для выхода из основной программы. Это используется, чтобы отличать основную программу от функции добавления.
Функция добавления отличается символом «:».
Оператор синтаксического анализа используется для анализа входящих аргументов.
Наконец, оператор return используется для возврата суммы числовых значений.
Подпрограммы и функции
В Rexx код обычно делится на подпрограммы и функции. Подпрограммы и функции используются для разделения кода на разные логические единицы. Ключевое различие между подпрограммами и функциями заключается в том, что функции возвращают значение, а подпрограммы - нет.
Ниже приведен ключевой пример различия между подпрограммой и функцией для реализации сложения.
Реализация функции
/* Main program */
say add(5,6)
exit
add:
parse arg a,b
return a + b
Реализация подпрограммы
/* Main program */
add(5,6)
exit
add:
parse arg a,b
say a + b
На выходе обеих программ будет значение 11.
Выполнение команд
Rexx можно использовать в качестве языка управления для множества командных систем. Rexx выполняет команды в этих системах следующим образом. Когда Rexx встречает программную строку, которая не является ни инструкцией, ни присваиванием, он обрабатывает эту строку как строковое выражение, которое должно быть вычислено и затем передано в среду.
Пример выглядит следующим образом -
пример
/* Main program */
parse arg command
command "file1"
command "file2"
command "file3"
exit
Каждая из трех аналогичных строк в этой программе представляет собой строковое выражение, которое добавляет имя файла (содержащееся в строковых константах) к имени команды (заданной как параметр). Результирующая строка передается в среду для выполнения в виде команды. Когда команда завершена, в переменной «rc» устанавливается код выхода из команды.
Результат вышеупомянутой программы выглядит следующим образом -
sh: file1: command not found
3 *-* command "file1"
>>> " file1"
+++ "RC(127)"
sh: file2: command not found
4 *-* command "file2"
>>> " file2"
+++ "RC(127)"
sh: file3: command not found
5 *-* command "file3"
>>> " file3"
+++ "RC(127)"
Ключевые слова в Rexx
Свободный синтаксис REXX подразумевает, что некоторые символы зарезервированы для использования языковым процессором в определенных контекстах.
В отдельных инструкциях некоторые символы могут быть зарезервированы для разделения частей инструкции. Эти символы называются ключевыми словами. Примеры ключевых слов REXX:WHILE in a DO instruction, а THEN (который в данном случае действует как терминатор предложения) после IF or WHEN clause.
Помимо этих случаев, проверяются только простые символы, которые являются первым токеном в предложении и за которыми не следует "=" или ":", чтобы узнать, являются ли они ключевыми словами инструкции. Вы можете свободно использовать символы в других разделах, не считая их ключевыми словами.
Комментарии в Rexx
Комментарии используются для документирования вашего кода. Однострочные комментарии идентифицируются с помощью символа / * * / в любой позиции в строке.
Пример выглядит следующим образом -
/* Main program */
/* Call the add function */
add(5,6)
/* Exit the main program */
exit add:
/* Parse the arguments passed to the add function */ parse arg a,b
/* Display the added numeric values */
say a + b
Комментарии также могут быть написаны между строкой кода, как показано в следующей программе -
/* Main program */
/* Call the add function */
add(5,6)
/* Exit the main program */
exit
add:
parse /* Parse the arguments passed to the add function */
arg a,b
/* Display the added numeric values */
say a + b
Результатом вышеуказанной программы будет -
11
Вы также можете иметь несколько строк в комментарии, как показано в следующей программе -
/* Main program
The below program is used to add numbers
Call the add function */
add(5,6)
exit
add:
parse arg a,b
say a + b
Результатом вышеуказанной программы будет -
11