Man pages на русском



              

M4(1) - часть 2


define Второй аргумент становится значением макроса с именем, равным первому аргументу. Если в значение макроса входят пары символов $n, где n - цифра, то при вызове этого макроса они заменяются на n-ый аргумент. Нулевым аргументом является имя макроса; пропущенные аргументы заменяются на пустые цепочки; $# заменяется количеством аргументов; $* заменяется на список всех аргументов, разделенных запятыми; $@ заменяется тоже на список аргументов, но каждый аргумент заключен в кавычки, являющиеся текущими.

undefine Удаляет определения макросов, имена которых заданы в качестве аргументов.

defn Возвращает заключенные в кавычки определения своих аргументов. Это полезно для переименования макросов, особенно встроенных.

pushdef Действует аналогично define, но сохраняет все предыдущие определения.

popdef Удаляет текущие определения своих аргументов и восстанавливает предыдущие, если они есть.

ifdef Если первый аргумент определен, то значение будет равно второму аргументу, в противном случае третьему. Если третьего аргумента нет, то значе ние будет пустым. Слово unix заранее определено в версиях m4 для системы UNIX.

shift Возвращает все свои аргументы кроме первого, зак лючив их в кавычки и отделив друг от друга запя тыми.

changequote Первый и второй аргументы становятся новыми символами-кавычками вместо ` и '. Эти аргументы могут содержать до 5 символов. Changequote без аргументов возвращает первоначальные значения (то есть `').

changecom Изменяет левый и правый маркеры комментария, которые первоначально равны # и символу перевода строки. Если нет аргументов, то механизм комментариев полностью подавляется. Если задан один аргумент, то он становится левым маркером комментариев, а правым маркером становится перевод строки. Если заданы два аргумента, то они становятся левым и правым маркерами. Маркеры комментариев могут содержать до 5 символов.

divert M4 поддерживает 10 выходных потоков, под номерами 0-9. Окончательный результат получается конкатенацией всех этих потоков в порядке возрастания номеров; первоначально текущим потоком является нулевой. Макрос divert меняет выходной поток на поток с номером, заданным аргументом (в виде цепочки десятичных цифр). Вывод, направленный во все потоки кроме 0-9, теряется.

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

divnum Возвращает номер текущего выходного потока.

dnl Читает и удаляет символы до следующего символа перевода строки включительно.

ifelse Имеет 3 или более аргументов. Если первый аргумент совпадает как цепочка символов со вторым, то результатом будет третий аргумент. Если нет, то, если аргументов более чем 4, то процесс повторяется с аргументами под номером 4, 5, 6 и 7 (4-ый и 5-ый аргументы сравниваются и т.д.) Если же аргументов не более 4, то результатом будет 4-ый аргумент или пустая цепочка при его отсутствии.

incr Возвращает значение своего аргумента, увеличенное на 1. Аргумент, который должен быть цепочкой цифр, интерпретируется как десятичное число.

decr Возвращает значение своего аргумента, уменьшенное на 1.

eval Вычисляет свой аргумент как арифметическое выражение, используя 32-битную арифметику. Допустимые операции включают +, -, *, /, %; побитные операции &, |, ^, и ~; операции отношения; скобки. Восьмеричные и шестнадцатеричные числа могут быть заданы как в языке C. Второй аргумент указывает систему счисления для результата; по умолчанию результат десятичный. Если задан третий аргумент, то он определяет минимальное число цифр в результате.

len Возвращает количество символов в своем аргументе.

index Возвращает позицию в первом аргументе, с которой начинается второй аргумент. Позиции нумеруются с 0. В случае неудачи поиска возвращается -1.

substr Возвращает подцепочку первого аргумента. Второй аргумент задает номер начального символа подцепочки (считая от 0), третий аргумент указывает длину. Если третий аргумент опущен, то подцепочка продолжается до конца первого аргумента. Если вторым и третьим аргументами задана подцепочка, выходящая за пределы данной цепочки, то результатом будет их пересечение.

translit Заменяет в первом аргументе символы, которые входят во второй аргумент, на символы, стоящие в третьем аргументе на тех же позициях. Не допустимы никакие сокращения.

include Возвращает содержимое файла с именем, заданным аргументом.

sinclude То же самое, что и include, за исключением того, что не будет никакой реакции, если файл недоступен.

syscmd Выполняет команду системы UNIX, заданную первым аргументом. Никакого значения не возвращается.

sysval Код завершения последнего вызова syscmd.

maketemp В подцепочку аргумента, имеющую вид XXXXX, вписывается идентификатор текущего процесса.

m4exit Вызывает немедленный выход из m4. Первый аргумент, если он есть, будет кодом завершения; подразумевается 0.

m4wrap Помещает свой первый аргумент в конец исходного текста, например:




Содержание  Назад  Вперед