англійськафранцузькаіспанська

Ad


Значок OnWorks

antlr - Інтернет у хмарі

Запустіть antlr у постачальника безкоштовного хостингу OnWorks через Ubuntu Online, Fedora Online, онлайн-емулятор Windows або онлайн-емулятор MAC OS

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

ПРОГРАМА:

ІМ'Я


antlr - ще один інструмент для розпізнавання мови

СИНТАКС


antlr [опції] grammar_files

ОПИС


Antlr перетворює розширену форму безконтекстної граматики в набір функцій C, які
безпосередньо реалізувати ефективну форму синтаксичного аналізатора LL(k) детермінованого рекурсивного спуску.
Безконтекстні граматики можуть бути доповнені предикатами, щоб дозволити семантиці впливати
розбір; це дозволяє у формі контекстно-залежного аналізу. Також є вибіркове повернення назад
доступний для обробки конструкцій, які не є LL(k) і навіть не LALR(k). Antlr також виробляє а
визначення лексера, який можна автоматично конвертувати в код C для DFA на основі
лексер по dg. Отже, antlr виконує функцію, схожу на функцію yacc, однак, це так
значно гнучкіший і більш інтегрований з генератором лексера (antlr безпосередньо
генерує dg код, тоді як yacc та лекс даються незалежні описи). На відміну від yacc
який приймає ЛАЛР(1) граматика, antlr приймає граматику LL(k) у розширеній нотації BNF —
що усуває потребу в правилах пріоритету.

Люблю yacc граматики, antlr граматики можуть використовувати атрибут символу, що автоматично підтримується
значення, зазначені як змінні долара. Далі, тому що antlr генерує парсери зверху вниз,
довільні значення можуть бути успадковані від батьківських правил (передаються як параметри функції).
Antlr також має механізм створення та маніпулювання абстрактними синтаксис-деревами.

Є ще різні тонкощі antlr, включаючи можливість поширення однієї граматики
над кількома файлами або навіть кількома граматиками в одному файлі, можливість генерувати a
версія граматики з вилученими діями (для цілей документації) та лотами
більше.

ВАРІАНТИ


-ck n Використовуйте до n символи попередження при використанні стисненого (лінійного наближення)
дивитися вперед. Цей тип упередження є дуже дешевим у обчисленні і його спробували раніше
повний LL(k) перегляд уперед, що має експоненційну складність у гіршому випадку. в
загалом, стиснутий перегляд може бути набагато глибшим (наприклад, -ck 10), ніж повний
перегляд уперед (який зазвичай має бути менше 4).

-CC Згенеруйте вихідні дані C++ з ANTLR і DLG.

-кр Створіть перехресне посилання для всіх правил. Для кожного правила надрукуйте список усіх інших
правила, які посилаються на нього.

-E1 Неясності/помилки показані з низькою деталізації (за замовчуванням).

-E2 Неясності/помилки показані більш детально.

-E3 Неясності/помилки показані в страшних деталях.

-фе файл
Rename err.c подати файл.

-fh файл
Rename stdpccts.h заголовок (вмикається - гх) подати.

-фл файл
Перейменувати лексичний вихід, parser.dlg, подати.

-фм файл
Перейменувати файл із визначеннями лексичного режиму, режим.h, подати.

-фр файл
Перейменувати файл, який переназначає глобально видимі символи, remap.h, подати.

- футів файл
Rename токени.h подати файл.

-га Згенеруйте ANSI-сумісний код (регістр за замовчуванням). Це не було ретельно перевірено
відповідати стандарту ANSI XJ11 C, але це близько. Нормальний вихід antlr is
наразі компілюється під K&R, ANSI C і C++ — ця опція нічого не робить
оскільки antlr генерує купу #ifdef, щоб робити правильні дії залежно від
мова.

-gc Вказує на це antlr не повинен генерувати код C, тобто виконувати аналіз лише на
граматика.

-gd Код C вставляється в кожну з antlr згенеровані функції розбору для забезпечення
визначена користувачем обробка детального аналізу. Вставлений код складається з
виклики наданих користувачем макросів або викликаних функцій zzTRACEIN та zzTRACEOUT.
Єдиний аргумент а бак * вказуючи на рядок у стилі C, який є граматикою
правило, розпізнане поточною функцією аналізу. Якщо не дано визначення для
функції трасування, після входу та виходу з правила буде надруковано повідомлення із зазначенням
що конкретне правило було введено або вийшло.

-ge Згенеруйте клас помилок для кожного нетерміналу.

- гх Генерувати stdpccts.h для включення файлів, не створених ANTLR. Цей файл містить
all визначає, необхідні для опису типу синтаксичного аналізатора, створеного за допомогою antlr (наприклад, скільки
Використовується lookahead та чи будуються дерева чи ні) та містить заголовок
дію, визначену користувачем.

-gk Створення синтаксичних аналізаторів, які відкладають пошук уперед, доки не знадобляться. Без цієї опції,
antlr генерує синтаксичний аналізатор, який завжди є k доступні маркери прогнозу.

-гл Згенерувати рядок інформацію про граматичні дії в аналізаторі форми C # лінія "файл"
завдяки чому повідомлення про помилки від компілятора C/C++ мають більший сенс
вказуйте на файл граматики, а не на отриманий файл C. Налагодження також легше,
тому що ви переглянете граматику, а не файл C.

-gs Не генеруйте набори для списків виразів маркерів; замість цього генерувати a ||- відокремлені
послідовність LA(1)==номер_токена. За замовчуванням генеруються набори.

-gt Створення коду для абстрактно-синтаксичних дерев.

-gx Не створюйте файли лексичного аналізатора (пов’язані з dlg). Цей варіант має бути
надається, коли користувач бажає надати налаштований лексичний аналізатор. Це також може
використовувати в зробити скрипти, щоб перебудувати лише синтаксичний аналізатор, якщо зміни не внесені
що впливає на лексичну структуру вноситься до вхідних граматик.

-k n Установіть k з LL(k) на n; тобто встановити маркери прогнозу (за замовчуванням==1).

-o dir Каталог, куди мають бути вихідні файли (за замовчуванням = "."). Це дуже приємно для
зберігаючи вихідний каталог подалі від ANTLR і DLG.

-p Повна граматика, зібрана з усіх вхідних файлів граматики та видалена з усіх
коментарі та вбудовані дії, перелічено до stdout. Це має на меті допомогти
розглядати всю граматику як єдине ціле та уникати необхідності зберігати дії
сказано коротко, щоб граматику було легше читати. Тому краще
вбудовувати навіть складні дії безпосередньо в граматику, а не називати їх як
підпрограми, оскільки накладні витрати на виклик підпрограми будуть збережені.

-па Цей варіант такий самий, як -p за винятком того, що вихід анотується першим
набори, визначені на основі граматичного аналізу.

-прц on
Увімкніть обчислення та підняття контексту предиката.

-прц від
Вимкніть обчислення та підняття контексту предиката. Ця опція становить 1.10
вести себе як випуск 1.06 з опцією -пр на. Обчислення контексту вимкнено
за замовчуванням.

-rl n Обмежте максимальну кількість вузлів дерева, які використовуються при аналізі граматики n.
Іноді antlr не може проаналізувати граматику, надіслану користувачем. Це
рідкісна ситуація може виникнути лише тоді, коли граматика велика і кількість перегляду вперед
більше одиниці. Алгоритм нелінійного аналізу використовується PCCTS для обробки
загальний випадок розбору LL(k). Однак середня складність аналізу є
майже лінійний через деяку химерну роботу ніг у виконанні, яка зменшує
кількість викликів до повного алгоритму LL(k). З'явиться повідомлення про помилку,
якщо ця межа досягнута, що вказує, коли аналізується граматична конструкція
antlr потрапила в нелінійність. Використовуйте цю опцію, якщо antlr ніби виходить на обід і
ваш диск починає тріщати; спробуйте n=10000 для початку. Після того, як порушна конструкція має
було виявлено, спробуйте усунути двозначність, що antlr намагався подолати с
великий попередній аналіз. Введення (...)? блоки повернення
усуває деякі з цих проблем — antlr не аналізує альтернативи, які починаються
з (...)? (він просто повертається, якщо необхідно, під час виконання).

-w1 Встановіть низький рівень попередження. Не попереджати, якщо семантичні предикати та/або (...)? блоки є
передбачається охоплювати неоднозначні альтернативи.

-w2 Неоднозначні рішення аналізу дають попередження, навіть якщо семантичні предикати або (...)?
використовуються блоки. Попереджати, якщо контекст предиката обчислюється, і семантичні предикати
неповністю розкрити альтернативні виробництва.

- Прочитайте граматику зі стандартного введення та згенеруйте stdin.c як файл синтаксичного аналізатора.

СПЕЦІАЛЬНІ ВИСНОВКИ


Antlr працює... думаємо. Немає ніякої неявної гарантії чогось. Ми резервуємо №
правової права на програмне забезпечення, відоме як Purdue Compiler Construction Tool Set (PCCTS) —
PCCTS є суспільним надбанням. Фізична особа чи компанія можуть робити з ними все, що забажають
вихідний код, що розповсюджується за допомогою PCCTS, або код, згенерований PCCTS, включаючи
включення PCCTS або його виведення в комерційне програмне забезпечення. Ми заохочуємо користувачів
розробляти програмне забезпечення з PCCTS. Проте ми просимо, щоб нам віддали кредит на розвиток
PCCTS. Під «кредитом» ми маємо на увазі, що якщо ви включите наш вихідний код у один із ваших
програми (комерційний продукт, дослідницький проект чи інше), які ви підтверджуєте
факт десь у документації, звіті про дослідження тощо... Якщо вам подобається PCCTS і є
розробили гарний інструмент із результатами, будь ласка, згадайте, що ви розробили його за допомогою PCCTS.
До тих пір, поки ці вказівки будуть дотримані, ми очікуємо продовжити вдосконалювати цю систему та
очікуйте, що інші інструменти будуть доступними, коли вони будуть завершені.

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


Безкоштовні сервери та робочі станції

Завантажте програми для Windows і Linux

  • 1
    глибоко чистий
    глибоко чистий
    Сценарій Kotlin, який руйнує всю збірку
    кеші з проектів Gradle/Android.
    Корисно, коли Gradle або IDE дозволяють
    вниз. Сценарій протестовано на
    macOS, але...
    Завантажити deep-clean
  • 2
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    Плагін Eclipse Checkstyle
    інтегрує код Java Checkstyle
    аудитора в IDE Eclipse. The
    плагін забезпечує зворотний зв’язок у режимі реального часу
    користувач про насильство...
    Завантажте плагін Eclipse Checkstyle
  • 3
    AstrOrzPlayer
    AstrOrzPlayer
    AstrOrz Player — безкоштовний медіаплеєр
    програмне забезпечення, частина на основі WMP і VLC. The
    плеєр в мінімалістичному стилі, с
    більше десяти кольорів теми, а також можна
    б ...
    Завантажити AstrOrzPlayer
  • 4
    movistartv
    movistartv
    Kodi Movistar+ TV є ДОДАТКОМ для XBMC/
    Kodi que permite disponer de un
    decodificador de los servicios IPTV de
    Movistar інтегрований в один із одним
    медіацентри ма...
    Завантажити movistartv
  • 5
    Код :: Блоки
    Код :: Блоки
    Code::Blocks — безкоштовна програма з відкритим кодом,
    кросплатформенний C, C++ і Fortran IDE
    створений для задоволення найвимогливіших потреб
    своїх користувачів. Він розроблений, щоб бути дуже
    подовжує ...
    Завантажити Code::Blocks
  • 6
    Серед
    Серед
    Серед або розширений інтерфейс Minecraft
    а відстеження даних/структури є інструментом для
    відобразити огляд Minecraft
    світу, фактично не створюючи його. Це
    може ...
    Завантажити Midst
  • Детальніше »

Команди Linux

Ad