yaccplan9 - онлайн у хмарі

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

ПРОГРАМА:

ІМ'Я


yacc - ще один компілятор-компілятор

СИНТАКСИС


yacc [ варіант ... ] граматика

ОПИС


Якк перетворює безконтекстну граматику та код перекладу в набір таблиць для an
LR(1) аналізатор і перекладач. Граматика може бути неоднозначною; визначені правила пріоритету
використовується для усунення двозначності.

Вихідний файл, y.tab.c, повинен бути скомпільований компілятором C для створення програми This
програма повинна бути завантажена функцією лексичного аналізатора, yylex (порожнеча) (часто генерується
лекс(1)), з а головний (внутр argc, бак *argv[]) програму та з процедурою обробки помилок,
yyпомилка (символ*).

Варіанти є

-o вихід Прямий вихід у вказаний файл замість y.tab.c.

-Dn Створити файл y.debug, що містить діагностичні повідомлення. Щоб включити їх у
синтаксичний аналізатор, компілюйте його за допомогою символу препроцесора yydebug визначений. Кількість
діагностичний вихід із синтаксичного аналізатора регулюється значенням n. Значення 0 повідомляє
помилки; 1 повідомляє про скорочення; вищі значення (до 4) включають більше інформації
про державні переходи.

-v Створити файл y.вихід, що містить опис таблиць розбору та з
конфлікти, що виникають через неясності в граматиці.

-d Створити файл y.tab.h, що містить #визначити висловлювання, які асоціюють yacc-призначений
"коди маркерів" з оголошеними користувачем "іменами маркерів". Включіть його в вихідні файли
окрім y.tab.c щоб надати доступ до кодів маркерів.

-s стебло Змініть префікс імен файлів y.tab.c, y.tab.h, y.debug та y.вихід до
стебло.

-S Напишіть синтаксичний аналізатор, який використовує Stdio замість друк підпрограми в libc.

-l Вимкніть директиви #line у ​​згенерованому синтаксическом аналізаторі.

-a Створіть синтаксичний аналізатор, який приймає аргумент типу Yyarg і передає цей аргумент
до кожного виклику функції лексера, yylex. Yyarg містить для кожного екземпляра
стан і один видимий користувачеві член, arg, типу void*.

Специфікація yacc сама по собі, по суті, така ж, як версія UNIX, описана в
посилання, згадані нижче. Крім того -D варіант, основні відповідні відмінності:

Інтерфейс до середовища C за замовчуванням через а не
; -S варіант змінює це.

Синтаксичний аналізатор приймає введений текст UTF (див utf(7)), що має кілька ефектів.
По-перше, повертається значення yylex() більше не вписується в a коротка; по-друге, стартовий
значення для нетерміналів тепер 0xE000, а не 257.

Згенерований синтаксичний аналізатор може бути рекурсивним: дії можуть викликати yyparse, наприклад до
реалізувати свого роду #включати заява в перекладача.

Нарешті, деякі недокументовані внутрішні роботи парсера були змінені, що
може вплинути на програми, які знають занадто багато про його структуру.

Використовуйте yaccplan9 онлайн за допомогою служб onworks.net



Найновіші онлайн-програми для Linux і Windows