6. Утилита mxxc

Утилита командной строки mxxc является интерпритатором и средой исполнения для языка M++.

Формат вызова:

mxxc [<arg> [<arg> [...]]] [@<resp-file> [@<resp-file> [...]]]

Если существует переменная среды MXX4, то указанные в ней аргументы разбираются перед началом разбора командной строки. В переменной среды MXX4 можно указывать только аргументы -d, -u, -i;

Если указываются response-файлы, то их содержимое обрабатывается после разбора командной строки. В response-файлах можно указывать любые аргументы за исключением имен response-файлов.

Если не задан аргумент -api, то в аргументах должно быть указано имя файла с программой M++. Если имя файла не указано, то mxxc проверяет наличие в текущем каталоге файла с именем default.4xx. Если такой файл существует, то mxxc выполняет содержащуюся в нем программу. Если в текущем каталоге нет файла default.4xx, то mxxc выдает на стандартный поток вывода короткую справку о текущей версии и аргументах mxxc. Получить такую же справку можно указав в командной строке один из агрументов: -?, -h, -help, --help.

6.1. Общие правила оформления аргументов

Аргументы mxxc, указываемые в переменной среды MXX4, командной строке и response-файлах должны следовать следующим правилам:

6.2. Аргументы mxxc

6.2.1. -a

Формат: -a <name> <value>

Задает скалярное значение аргументу с именем <name>. Получить это значение можно из mxx-кода при помощи функций mxxc_arg, mxxc_arg_as_array, mxxc_arg_names.

6.2.2. -aa

Формат: -aa <name> <value>

Добавляет еще одно скалярное значение аргументу-вектору с именем <name>. Получить это значение можно из mxx-кода при помощи функций mxxc_arg, mxxc_arg_as_array, mxxc_arg_names.

6.2.3. -api

Формат: -api

Предписывает отобразить на стандартный поток вывода список всех функций M++ API реализованных в данной версии mxxc. Для каждой функции отображается краткое описание.

После выдачи описания функций M++ API утилита mxxc завершает свою работу. Поэтому не имеет смысла использовать этот аргумент совместно с другими аргументами.

6.2.4. -c

Формат: -c

Предписывает только скомпилировать M++ программу, но не выполнять ее. Основное назначение данного ключа - проверка синтаксической правильности программ.

6.2.5. -d

Формат: -d <id>[=[<value>]]

Определяет символ препроцессора id. Имя символа препроцессора должно быть уникальным (т.е. символа препроцессора с таким именем быть не должно). Если указано значение value, то это значение будет присвоено этому символу препроцессора.

Не должно быть пробелов между идентификатором и знаком =. Если указан только знак равенства, но без значения (-d id=), то будет создан символ препроцессора с пустым значением (что эквивалентно -d id).

Можно указывать произвольное количество аргументов -d.

6.2.6. -i

Формат: -i <path>

Добавляет указанный path к списку путей к стандартным подключаемым файлам.

Можно указывать произвольное количество аргументов -i.

6.2.7. -pre

Формат: -pre

Предписывает выдать результат обработки программы препроцессором на стандартный поток вывода. После этого утилита mxxc завершает свою работу.

6.2.8. -sf

Формат: -sf <filename>

Аналогичен параметру -f, но указанный файл ищется в путях стандартных подключаемых файлов.

6.2.9. -u

Формат: -u <id>

Удаляет символ препроцессора id. Отсутствие указаного символа ошибкой не считается.

Можно указывать произвольное количество аргументов -u.

Аргументы -u обрабатываются перед тем, как будут обработаны аргументы -d.

Hosted by uCoz