АнглийскийФранцузскийИспанский

Ad


Значок OnWorks

m4posix - Интернет в облаке

Запустите m4posix в бесплатном хостинг-провайдере OnWorks через Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS

Это команда m4posix, которую можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.

ПРОГРАММА:

ИМЯ


m4 - макропроцессор

СИНТАКСИС


m4 [−с] [−D имя[=волна]]... [−U имя]... файл...

ОПИСАНИЕ


Ассоциация m4 Утилита - это макропроцессор, который должен читать один или несколько текстовых файлов, обрабатывать их
в соответствии с включенными в них макросами и записать результаты в стандартный вывод.

ДОПОЛНИТЕЛЬНЫЕ УСЛУГИ, НЕ ВКЛЮЧЕННЫЕ В ПАКЕТ


Ассоциация m4 утилита должна соответствовать тому Базовые определения POSIX.1-2008, Раздел 12.2,
утилита Синтаксис Инструкции, за исключением того, что порядок −D и −U варианты должны быть
значимы, а опции могут перемежаться операндами.

Поддерживаются следующие варианты:

−с Включить вывод синхронизации линии для c99 фаза препроцессора (то есть
#линия директивы).

−D имя[=волна]
определять имя в волна или обнулить, если =волна опущен

−U имя Неопределенный имя.

ОПЕРАНДЫ


Поддерживается следующий операнд:

файл Путь к текстовому файлу, который нужно обработать. Если нет файл дается, или если это '-',
должен быть прочитан стандартный ввод.

СТАНДИН


Стандартный ввод должен быть текстовым файлом, который используется, если нет файл задан операнд, или если он
is '-'.

ВХОД FILES


Входной файл, названный файл операнд должен быть текстовым файлом.

ОКРУЖАЮЩАЯ СРЕДА ПЕРЕМЕННЫЕ


Следующие переменные среды должны влиять на выполнение m4:

ДЛИННЫЙ Задайте значение по умолчанию для переменных интернационализации, которые не установлены или
нулевой. (См. Том Базовых определений POSIX.1-2008, Раздел 8.2,
Интернационализация Переменные за приоритет интернационализации
переменные, используемые для определения значений категорий локали.)

LC_ALL Если установлено непустое строковое значение, переопределить значения всех остальных
переменные интернационализации.

LC_CTYPE Определите локаль для интерпретации последовательностей байтов текстовых данных
как символы (например, однобайтовые, а не многобайтовые символы в
аргументы и входные файлы).

LC_MESSAGES
Определите языковой стандарт, который следует использовать, чтобы повлиять на формат и содержимое
диагностические сообщения записываются в стандартную ошибку.

НЛПСАТ Определите расположение каталогов сообщений для обработки LC_MESSAGES.

АСИНХРОННЫЙ СОБЫТИЯ


По умолчанию.

стандартный вывод


Стандартный вывод должен быть таким же, как и входные файлы, после обработки для макроса.
расширение.

СТДЕРР


Стандартная ошибка должна использоваться для отображения строк с ошибка макрос, трассировка макросов
обеспечивается Traceon макрос, определенный текст для макросов, написанных дампдеф макрос, или
для диагностических сообщений.

ВЫВОД FILES


Нет.

РАСПРОСТРАНЕНИЯ ОПИСАНИЕ


Ассоциация m4 утилита должна сравнивать каждый токен на входе с набором встроенных и
пользовательские макросы. Если токен совпадает с именем макроса, то токен должен быть
заменяется определяющим текстом макроса, если таковой имеется, и повторно проверяется на соответствие имен макросов.
Если ни одна часть токена не соответствует имени макроса, он должен быть записан в стандартный
вывод. Макросы могут иметь аргументы, и в этом случае аргументы должны быть заменены на
определяющий текст перед его повторным сканированием.

Макро-вызовы имеют вид:

имя(arg1, arg2..., аргумент)

Имена макросов должны состоять из букв, цифр и знаков подчеркивания, где первый символ
это не цифра. Токены другой формы не рассматриваются как макросы.

Приложение должно гарантировать, что сразу следует за именем
макрос. Если за токеном, соответствующим имени макроса, не следует
скобка>, это обрабатывается как использование этого макроса без аргументов.

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

Аргументы позиционно определены и указаны. Струна "1 $" в определяющем тексте
заменяется первым аргументом. Системы должны поддерживать не менее девяти аргументов;
можно ссылаться только на первые девять, используя строки "1 $" в "9 $", включительно. В
string "0 $" заменяется именем макроса. Струна "$ #" заменяется
количество аргументов в виде строки. Струна "$ *" заменяется списком всех
аргументы, разделенные символы. Струна "$ @" заменяется списком всех
аргументов, разделенных символов, и каждый аргумент цитируется с использованием
текущие строки с левыми и правыми кавычками. Струна "$ {" производит неопределенное поведение.

Если указано меньше аргументов, чем указано в определении макроса, пропущенные аргументы
считаются равными нулю. Если указано больше аргументов, чем указано в
определение макроса.

Никакие символы, заключенные между совпадающими слева и справа, не имеют особого значения.
строки с кавычками, но сами строки с кавычками отбрасываются. По умолчанию левый
Строка цитирования состоит из серьезного ударения (обратной кавычки) и правой строки цитирования
состоит из акцента (одинарные кавычки); см. также изменить цитату макро.

Комментарии записываются, но не сканируются на предмет совпадения имен макросов; по умолчанию начало-
строка комментария состоит из символ, а строка конечного комментария состоит
из . Также Changecom и днл макросы.

Ассоциация m4 Утилита должна сделать доступными следующие встроенные макросы. Их можно переопределить,
но как только это будет сделано, первоначальный смысл теряется. Их значения должны быть нулевыми, если только
в противном случае указано. В описаниях ниже термин определяющий текст относится к стоимости
макрос: второй аргумент для определять макрос, среди прочего. За исключением
первый аргумент в пользу Eval макрос, все числовые аргументы встроенных макросов должны быть
интерпретируются как десятичные значения. Строковые значения, создаваемые как определяющий текст
ОВЦС, дивнум, увеличение, индекс, толькокачества сисвал встроенные макросы должны быть в виде
десятичная константа, как определено в языке C.

Changecom Ассоциация Changecom Макрос устанавливает строки "начало-комментарий" и "конец-комментарий". Без
аргументов, механизм комментариев должен быть отключен. С одним ненулевым
аргумент, этот аргумент должен стать начальным комментарием и должен
стать строкой конечного комментария. С двумя ненулевыми аргументами первый аргумент
должен стать строкой начала-комментария, а второй аргумент должен стать
конец строки комментария. Поведение не указано, если указан какой-либо аргумент.
но нуль. Системы должны поддерживать строки комментариев, состоящие как минимум из пяти символов.

изменить цитату
Ассоциация изменить цитату Макрос устанавливает строки начальной и конечной кавычек. Без
аргументы, строки кавычек должны быть установлены в значения по умолчанию (то есть, `').
Поведение не указано, если есть единственный аргумент или любой из аргументов
нулевой. С двумя ненулевыми аргументами первый аргумент должен стать начальным.
строка кавычек, а второй аргумент должен стать строкой конечной кавычки. Системы
должны поддерживать строки кавычек не менее пяти символов.

ОВЦС Определяющий текст ОВЦС макрос должен быть его первым аргументом, уменьшенным на
1. Будет ошибкой указывать аргумент, содержащий любые нечисловые
символы. Поведение не указано, если ОВЦС не сразу следует
а .

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

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

отвлекать Ассоциация m4 Утилита поддерживает девять временных буферов, пронумерованных от 1 до 9 включительно.
Когда последний из входных данных был обработан, любой выход, который был помещен
в эти буферы должны быть записаны на стандартный вывод в числовом порядке буфера.
Ассоциация отвлекать макрос должен перенаправлять будущий вывод в буфер, указанный в его
аргумент. Указание отсутствия аргумента или аргумента 0 возобновит нормальный
выходной процесс. Вывод, перенаправленный в поток с отрицательным числом, должен быть
отброшен. Поведение определяется реализацией, если номер потока больше 9
указан. Будет ошибкой указывать аргумент, содержащий любые не-
числовые символы.

дивнум Определяющий текст дивнум макрос должен быть номером текущего выхода
поток в виде строки.

днл Ассоциация днл макрос должен вызывать m4 чтобы отбросить все входные символы до включительно
следующий .

дампдеф Ассоциация дампдеф макрос должен записывать определенный текст в стандартную ошибку для каждого из
макросы, указанные как аргументы, или, если аргументы не указаны, для всех
макросы.

ошибка Ассоциация ошибка макрос должен записывать свои аргументы в стандартную ошибку. Поведение
не указано, если ошибка не сразу следует .

Eval Ассоциация Eval макрос должен оценивать свой первый аргумент как арифметическое выражение,
с использованием целочисленной арифметики со знаком с точностью не менее 32 бита. По крайней мере
следующие операторы языка C должны поддерживаться с приоритетом,
ассоциативность и поведение, как описано в Раздел 1.1.2.1, Арифметический
Точность и Операционный отдел:

()
унарный +
унарный -
~

!
двоичный *
/
%
двоичный +
двоичный -
<<
>>
<
<=
>
>=
==
!=
двоичный &
^
|
&&
||

Системы должны поддерживать восьмеричные и шестнадцатеричные числа, как в стандарте ISO C.
Второй аргумент, если он указан, должен установить систему счисления для результата; если
аргумент пуст или не указан, значение по умолчанию - 10. Поведение не указано, если
основание системы счисления выходит за пределы диапазона от 2 до 36 включительно. Третий аргумент, если
указано, устанавливает минимальное количество цифр в результате. Поведение
не указано, если третий аргумент меньше нуля. Будет ошибкой
укажите второй или третий аргумент, содержащий любые нечисловые символы. В
поведение не указано, если Eval не сразу следует
скобка>.

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

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

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

увеличение Определяющий текст увеличение макрос должен быть его первым аргументом, увеличиваемым на
1. Будет ошибкой указывать аргумент, содержащий любые нечисловые
символы. Поведение не указано, если увеличение не сразу следует
а .

индекс Определяющий текст индекс макрос должен быть первой позицией символа (как
строка) в первом аргументе, где начинается строка, соответствующая второму аргументу
(нулевое начало) или -1, если второй аргумент не встречается. Поведение
не указано, если индекс не сразу следует .

только Определяющий текст только макрос должен быть длиной (в виде строки)
первый аргумент. Поведение не указано, если только не сразу следует
по .

m4выход Выход из m4 полезность. Если указан первый аргумент, это выход
код. По умолчанию - ноль. Указание аргумента будет ошибкой
содержащие любые нечисловые символы.

m4wrap Первый аргумент должен быть обработан при достижении EOF. Если m4wrap макрос
используется несколько раз, указанные аргументы должны обрабатываться в порядке
в котором m4wrap макросы обработаны. Поведение не указано, если m4wrap
не сразу следует .

сделать темп Определяющий текст должен быть первым аргументом с любым завершающим 'ИКС' символы
заменяется идентификатором текущего процесса в виде строки. Поведение не указано
if сделать темп не сразу следует .

мкстемп Первый аргумент следует рассматривать как шаблон для создания пустого файла с
задний 'ИКС' символы заменены символами из переносимого имени файла
набор символов. Поведение не указано, если первый аргумент не заканчивается на
как минимум шесть 'ИКС' символы. Если временный файл успешно создан, то
определяющий текст макроса должен быть именем нового файла. ID пользователя
файла должен быть установлен на эффективный идентификатор пользователя процесса. ID группы
файла должен быть установлен на идентификатор группы родительского каталога файла или на
эффективный групповой идентификатор процесса. Установлены биты прав доступа к файлу.
таким образом, что только владелец может читать и записывать файл, независимо от
текущий Umask процесса. Если файл не может быть создан, определяющий текст
макроса должна быть пустой строкой. Поведение не указано, если мкстемп
не сразу следует .

попдеф Ассоциация попдеф макрос должен удалить текущее определение своих аргументов, заменив
это определение с предыдущим. Если предыдущего определения нет,
макрос не определен. Поведение не указано, если попдеф не сразу
за которым следует .

pushdef Ассоциация pushdef макрос должен быть эквивалентен определять макрос за исключением
что он должен сохранить любое текущее определение для будущего поиска с использованием
попдеф макрос. Поведение не указано, если pushdef не сразу следует
по .

сдвиг Определяющий текст для сдвиг макрос должен быть разделенным запятыми списком своих
аргументы кроме первого. Каждый аргумент должен быть указан с использованием текущего
цитирование строк. Поведение не указано, если сдвиг не сразу
за которым следует .

включать Ассоциация включать макрос должен быть эквивалентен включают макрос, за исключением того, что это
не будет ошибкой, если файл недоступен. Поведение не указано
if включать не сразу следует .

подстрока Определяющий текст для подстрока макрос должен быть подстрокой первого
аргумент, начинающийся с позиции символа с нулевым смещением, указанной вторым
аргумент. Третий аргумент, если он указан, должен быть количеством символов для
Выбрать; если не указано, символы от начальной точки до конца
первый аргумент должен стать определяющим текстом. Не будет ошибкой
укажите начальную точку за концом первого аргумента и определяющего
текст должен быть пустым. Будет ошибкой указывать аргумент, содержащий какие-либо
нечисловые символы. Поведение не указано, если подстрока Не
сразу за которым следует .

syscmd Ассоциация syscmd макрос интерпретирует свой первый аргумент как командную строку оболочки. В
определяющий текст должен быть строковым результатом этой команды. Строковый результат
не должны повторно сканироваться на наличие макросов при установке определяющего текста. Нет вывода
перенаправление осуществляется m4 полезность. Значение статуса выхода из
команда может быть получена с помощью сисвал макрос. Поведение не указано, если
syscmd не сразу следует .

сисвал Определяющий текст сисвал макрос должен быть значением выхода утилиты
последний раз использованный syscmd макрос (в виде строки).

Traceon Ассоциация Traceon макрос должен разрешать трассировку для макросов, указанных в качестве аргументов,
или, если аргументы не указаны, для всех макросов. Вывод трассировки должен быть
записывается в стандартную ошибку в неопределенном формате.

след Ассоциация след макрос должен отключать трассировку для макросов, указанных в качестве аргументов,
или, если аргументы не указаны, для всех макросов.

транслит Определяющий текст транслит макрос должен быть первым аргументом с каждым
символ, который встречается во втором аргументе, заменен соответствующим
персонаж из третьего аргумента. Если не указан символ замены для
какой-то исходный символ, потому что второй аргумент длиннее третьего
аргумент, этот символ должен быть удален из первого аргумента в транслит's
определяющий текст. Поведение не указано, если '-' персонаж появляется внутри
второй или третий аргумент где угодно, кроме первого или последнего символа. В
поведение не указано, если один и тот же символ встречается более одного раза в
Второй аргумент. Поведение не указано, если транслит не сразу
за которым следует .

неопределить Ассоциация неопределить макрос удаляет все определения (включая те, что сохранены с помощью
домен pushdef macro) макросов, названных его аргументами. Поведение
не указано, если неопределить не сразу следует .

отвлекать Ассоциация отвлекать макрос должен вызывать немедленный вывод любого текста во временные буферы
названные как аргументы, или все временные буферы, если аргументы не указаны.
Буферы можно не переносить в другие временные буферы. Разъединение должно
отбросить содержимое временного буфера. Поведение не указано, если
Аргумент содержит любые нечисловые символы.

ВЫХОД статус


Должны быть возвращены следующие значения выхода:

0 Успешное завершение.

> 0 Произошла ошибка

Если же линия индикатора m4выход макрос, значение выхода может быть указано во входном файле.

ПОСЛЕДСТВИЯ OF ОШИБКИ


По умолчанию.

Ассоциация после разделах Он информативный.

ЗАЯВЛЕНИЕ ИСПОЛЬЗОВАНИЕ


Ассоциация определение макрос полезен для переименования макросов, особенно встроенных.

С Eval соответствует стандарту ISO C, некоторые операции имеют неопределенное поведение. В некоторых
реализации, деление или остаток на ноль вызывают фатальный сигнал, даже если деление
происходит на короткозамкнутой ветви "&&" or "||". Любая операция, которая выходит за пределы
знаковая арифметика приводит к неопределенному поведению. Аналогичным образом, используя сдвиг операторы с
величина сдвига, которая не является положительной и меньше точности, не определена, как и
сдвиг отрицательного числа вправо. Исторически не все реализации подчинялись C-
правила языкового приоритета: '~' и '!' были ниже, чем '=='; '==' и знак равно не были ниже
чем '<'и '|' не было ниже чем '^'; либеральное использование "()" может заставить желаемое
приоритет даже с этими несовместимыми реализациями. Кроме того, некоторые традиционные
реализации обработаны '^' как оператор возведения в степень, хотя большинство реализаций
сейчас использую "**" как расширение для этой цели.

Когда макрос был многократно определен через pushdef макрос, не указано,
домен определять макрос изменит только самое последнее определение (как если бы попдеф и
pushdef) или заменить весь стек определений одним определением (как если бы
by неопределить и pushdef). Приложение, требующее определенного поведения для определять
макрос в этом случае может переопределить его соответствующим образом.

Приложения должны использовать мкстемп макрос вместо устаревшего сделать темп макрос для
создание временных файлов.

ПРИМЕРЫ


Если файл m4src содержит строки:

Ассоциация ценностное of `VER ' is «ВЕР».
ifdef (`ВЕРСИЯ ', `` ВЕР '' is определенный в be ВЕР., РЕД is не определенный.)
ifelse (VER, 1, `` ВЕР '' is `VER '.)
ifelse (VER, 2, `` ВЕР '' is `ВЕР '., `` ВЕР '' is не 2.)
конец

тогда команда

m4 m4src

или команда:

m4 −U РЕД m4src

производит вывод:

Ассоциация ценностное of РЕД is «ВЕР».
РЕД is не определены.

VER - это не 2.
конец

Команда:

m4 −D РЕД m4src

производит вывод:

Ассоциация ценностное of РЕД is "".
РЕД is определенный в be .

VER - это не 2.
конец

Команда:

m4 −D SEE = 1 m4src

производит вывод:

Ассоциация ценностное of РЕД is "1".
РЕД is определенный в be 1.
РЕД is 1.
РЕД is не 2.
конец

Команда:

m4 −D SEE = 2 m4src

производит вывод:

Ассоциация ценностное of РЕД is "2".
РЕД is определенный в be 2.

VER равен 2.
конец

ОБОСНОВАНИЕ


Обработано историческое поведение на основе System V "$ {" в макроопределении как два литерала
символы. Однако эта последовательность не указана, поэтому реализации могут предлагать
расширения, такие как "$ {11}" означает одиннадцатый позиционный параметр. Макросы все еще могут быть
определены с соответствующим использованием вложенных кавычек для получения буквального "$ {" на выходе
после повторного сканирования удаляет вложенные кавычки.

В транслит обработано встроенное историческое поведение на основе System V '-' как буквальный; GNU
поведение рассматривает его как диапазон. Эта версия стандарта допускает любое поведение.

БУДУЩЕЕ НАПРАВЛЕНИЯ


Нет.

Используйте m4posix онлайн с помощью сервисов onworks.net


Бесплатные серверы и рабочие станции

Скачать приложения для Windows и Linux

  • 1
    Pharser
    Pharser
    Phaser - это быстрый, бесплатный и увлекательный
    исходный игровой фреймворк HTML5, который предлагает
    WebGL и рендеринг Canvas через
    настольные и мобильные веб-браузеры. Игры
    может быть со ...
    Скачать Фазер
  • 2
    VASSAL Двигатель
    VASSAL Двигатель
    VASSAL - игровой движок для создания
    электронные версии традиционной доски
    и карточные игры. Он обеспечивает поддержку
    рендеринг и взаимодействие игровых элементов,
    и ...
    Скачать движок VASSAL
  • 3
    OpenPDF - форк iText
    OpenPDF - форк iText
    OpenPDF — это библиотека Java для создания
    и редактирование PDF-файлов с помощью LGPL и
    Лицензия с открытым исходным кодом MPL. OpenPDF – это
    LGPL/MPL преемник iText с открытым исходным кодом,
    и ...
    Скачать OpenPDF — форк iText
  • 4
    SAGA GIS
    SAGA GIS
    САГА - Автоматизированная система
    Геонаучный анализ - это географический
    Программное обеспечение информационной системы (ГИС) с
    огромные возможности для геоданных
    обработка и анализ ...
    Скачать ГИС САГА
  • 5
    Панель инструментов для Java / JTOpen
    Панель инструментов для Java / JTOpen
    IBM Toolbox for Java / JTOpen — это
    библиотека классов Java, поддерживающая
    клиент/сервер и интернет-программирование
    моделей в систему под управлением OS/400,
    i5/ОС, о...
    Скачать набор инструментов для Java/JTOpen
  • 6
    D3.js
    D3.js
    D3.js (или D3 для документов, управляемых данными)
    это библиотека JavaScript, которая позволяет вам
    для создания динамических интерактивных данных
    визуализации в веб-браузерах. С D3
    вы...
    Скачать D3.js
  • Больше »

Команды Linux

Ad