Это командный sid, который можно запустить в бесплатном хостинг-провайдере OnWorks, используя одну из наших многочисленных бесплатных онлайн-рабочих станций, таких как Ubuntu Online, Fedora Online, онлайн-эмулятор Windows или онлайн-эмулятор MAC OS.
ПРОГРАММА:
ИМЯ
sid - Устройство улучшения синтаксиса; генератор парсеров.
СИНТАКСИС
SID [вариант] ... файл...
ОПИСАНИЕ
Команда SID команда используется для преобразования описания языка в
программа для распознавания этого языка. На этой странице руководства подробно описаны
синтаксис командной строки; для получения дополнительной информации обратитесь к SID пользователь
документация. Количество файлов, указанное в командной строке
зависит от языка вывода. Описание
- язык опция определяет количество файлов для каждого языка.
ВЫКЛЮЧАТЕЛИ
Новая версия SID принимает как краткую, так и полную команду
линейные переключатели.
Переключатели краткой формы представляют собой одиночные символы и начинаются с '-' или '+'.
персонаж. Их можно объединить в одно слово командной строки,
например:
-vdl дамп-файл Название языка
который содержит три разных переключателя (-v, который не принимает аргументов;
-d, который принимает один аргумент: дамп-файли -l, что требует одного
Аргумент: Название языка).
Переключатели длинной формы - это строки, начинающиеся с «-» или «++». С долгим
формы, необходимо вводить только самый короткий уникальный префикс. В
Полная форма приведенного выше примера будет:
--версия --dump-файл дамп-файл - язык Название языка
В большинстве случаев аргументы переключателя должны следовать за переключателем как
отдельное слово. В случае переключателей краткой формы аргументы
краткие переключатели формы в одном слове должны следовать за словом в
порядок переключателей (как в первом примере). Для некоторых опций
аргумент может быть частью того же слова, что и переключатель (такие параметры
отображается без пробела между переключателем и аргументом в переключателе
резюме ниже). В случае переключателей короткой формы такой переключатель
завершит любое объединение переключателей (либо символ
будет следовать за ним, что будет рассматриваться как его аргумент, или это будет
конец слова, и его аргумент будет следовать как обычно).
Для двоичных переключателей префиксы переключателей '-' или '-' устанавливают (включают)
переключатель, а префиксы переключателя «+» или «++» сбрасывают (отключают) переключатель.
Это, вероятно, задняя часть, но согласуется с другими программами.
Сами по себе переключатели «-» или «++» завершают анализ опции.
ОШИБКА ФАЙЛОВ СИНТАКСИС
Можно изменить сообщения об ошибках, которые SID использует. Чтобы
сделайте это, сделайте переменную среды SID_ERROR_FILE содержать имя
файла с новыми сообщениями об ошибках в формате.
Файл ошибок состоит из нуля или более разделов. Каждый раздел начинается
с маркером раздела (один из %приставка%, % ошибок% or % строк%).
раздел префикса занимает одну строку (это должен быть префикс для всех
Сообщения об ошибках). В других разделах используется ноль или более пар имен.
и струны. Имя - это последовательность символов, окруженная одиночными
цитаты. Строка - это последовательность символов, окруженная двойным
цитаты. В случае разделов префикса и ошибок строки могут
содержат переменные вида ${переменная имя}. Эти переменные будут
заменяться соответствующей информацией при возникновении ошибки. В
Символ обратной косой черты может использоваться для экранирования символов. Следующие C
управляющие последовательности стиля распознаются: '\n''\r''\t''\0'. Также,
последовательность '\xNN'представляет символ с кодом NN в шестнадцатеричном формате. В
символ решетки действует как комментарий к символу конца строки.
Команда --show-ошибки опция может использоваться для получения копии текущей ошибки
сообщений.
ДОПОЛНИТЕЛЬНЫЕ ОПЦИИ
SID принимает следующие параметры командной строки:
--dump-файл ФАЙЛОВ
-d ФАЙЛОВ
Эта опция вызывает промежуточные дампы грамматики.
записано в файл ФАЙЛОВ.
--фактор-лимит ОГРАНИЧЕНИЯ
-f ОГРАНИЧЕНИЯ
Эта опция ограничивает количество правил, которые можно создать.
в процессе факторизации. Наверное, лучше не
изменить это.
--Помогите
-?
Напишите краткое описание варианта к стандартной ошибке.
--в линию ВСТАВКИ
-i ВСТАВКИ
Эта опция контролирует то, что встраивание будет выполнено в выводе.
парсер. Аргумент inlines должен быть списком, разделенным запятыми.
следующих слов:
ОДИНОЧНЫЕ
Это приводит к встраиванию единственных альтернативных правил.
Это встраивание больше не выполняется как модификация.
к грамматике (было в версии 1.0).
ОСНОВЫ Это приводит к тому, что правила содержат только основы (а не
обработчики исключений или пустые альтернативы), чтобы быть
встроенный. Ограничение на обработчики исключений и
пустые альтернативы довольно произвольны и могут быть
поменял позже.
TAIL Это вызывает встраивание хвостовых рекурсивных вызовов.
Без этого исключение хвостовой рекурсии не будет
выполнено.
ДРУГОЕ Это приводит к тому, что другие вызовы встраиваются везде
возможный. Если только встраивание "MULTI" не
указано, это будет сделано только для производств,
вызываются один раз.
MULTI Это вызывает встраивание вызовов, даже если правило
вызываемый вызывается более одного раза. Превращая это
вложение подразумевает "ДРУГОЕ". Аналогично выключение
Встраивание «OTHER» отключит вложение «MULTI». Для
грамматики любого размера, этого, вероятно, лучше избегать;
при использовании сгенерированный синтаксический анализатор может быть огромным (например, C
грамматика произвела файл, который был несколько сотен
Размером МБ).
BCE
Это включает все встраивание.
Кроме того, добавление к слову префикса "NO" отключает встраивание
фаза. Слова могут быть даны в любом случае. Они оцениваются
в указанном порядке, поэтому:
-inline noall, одиночные игры
включит только встраивание одного альтернативного правила, в то время как:
-инлайн одиночные игры, но все
отключит все встраивание. По умолчанию, как если бы SID был
вызывается с опцией:
-inline noall, основы, хвост
- язык АНГЛИЙСКИЙ ЯЗЫК
-l АНГЛИЙСКИЙ ЯЗЫК
Эта опция определяет язык вывода. В настоящее время это
должно быть «ansi-c», «pre-ansi-c», «ossg-c» или «test».
По умолчанию это "ansi-c".
Языки "ansi-c" и "pre-ansi-c" в основном одинаковы.
Единственная разница в том, что "ansi-c" изначально использует функцию
прототипы, а "pre-ansi-c" - нет. Язык "ossg-c"
использует макросы для объявления и определения функций, которые могут быть определены
предоставить прототипы или не прототипы. Каждый язык
принимает два входных файла, файл грамматики и файл действий, и
создает два выходных файла, исходный файл C, содержащий
сгенерированный парсер и файл заголовка C, содержащий внешний
объявления для парсера. Параметры, специфичные для языка C
составляют:
прототипы прототипы ossg-prototypes ossg-proto no-prototypes
нет-прото
Они включают или отключают использование прототипов функций или
макросы прототипа OSSG.
разделить разделить =НОМЕР без разделения
Они включают или отключают опцию разделения выходного файла.
Сгенерированные файлы могут быть очень большими даже без
встраивание. Эта опция разбивает основной выходной файл на
количество компонентов, содержащих около НОМЕР линии каждая
(по умолчанию 50000). Эти компоненты
отличается последовательной заменой 1, 2, 3, ...
для символа '@' в имени выходного файла.
numeric-ids numeric no-numeric-id no-numeric
Они включают или отключают использование числовых идентификаторов.
Числовые идентификаторы заменяют имя идентификатора на
номер, который в основном используется для остановки идентификатора
имена становятся слишком длинными. Недостаток в том, что
код становится менее читаемым и труднее поддается отладке.
Числовые идентификаторы по умолчанию не используются и никогда не используются.
используется для номеров терминалов.
броски броски нет броски нет броски
Они включают или отключают приведение действия и назначения
неизменяемые параметры оператора. Если включено, параметр
приводится к собственному типу при замене в
действие. Это заставит некоторые компиляторы жаловаться на
пытается изменить параметр (что может помочь выбрать
пытается изменить параметры, которые не должны быть
мутировал). Недостаток в том, что не все компиляторы
отклонит попытки мутации, а ANSI не
разрешить приведение к типам структуры и объединения, что означает
что какой-то код может быть незаконным. Приведение параметров
по умолчанию отключено.
недостижимые-макросы, недостижимый-макрос, недостижимые-комментарии
недоступный-комментарий
Они выбирают, будет ли недостижимый код отмечен значком
макрос или комментарий. По умолчанию отмечается как недоступный
код с комментарием "/ * UNREACHED * /", но макрос
"НЕРАЗВЕДЕННЫЙ;" при желании можно использовать вместо него.
линии линия нет линии нет строки
Они определяют, должны ли директивы "#line" быть
output, чтобы связать выходной файл с файлом действий.
Они создаются по умолчанию.
"Тестовый" язык принимает только один входной файл и не производит
выходной файл. Его можно использовать для проверки правильности грамматики.
Вместе с файлом дампа его можно использовать для проверки
преобразования, которые будут применены к грамматике. Есть
нет языковых опций для "тестового" языка.
--show-ошибки
-e
Записать текущий список сообщений об ошибках в стандартный вывод.
--выключатель ВАРИАНТ
-s ВАРИАНТ
Пройти через ВАРИАНТ как вариант для конкретного языка.
--tab-ширина НОМЕР
-t НОМЕР
Этот параметр определяет количество пробелов, которые занимает вкладка.
По умолчанию - 8. Используется только при выводе отступа.
--версия
-v
Эта опция приводит к тому, что номер версии и поддерживаемые языки будут
быть записанным в стандартный поток ошибок.
Используйте sid онлайн с помощью сервисов onworks.net