Запитання з тегом «parsers»

Запитання щодо алгоритмів, які вирішують, чи належить певний рядок до фіксованої формальної мови.

1
Мовне теоретичне порівняння граматики LL та LR
Люди часто кажуть, що LR (k) парсери є більш потужними, ніж LL (k) парсери. Ці твердження більшу частину часу є невиразними; зокрема, чи слід порівнювати класи для фіксованого або об'єднання по всіх ? То як справді ситуація? Зокрема, мене цікавить, як LL (*) вписується.kkkkkk Наскільки я знаю, відповідні набори граматики …

1
Чи існує якийсь загальний алгоритм розбору CFG, який розпізнає EPAL?
EPAL, мова навіть паліндром, визначається як мова, породжена наступною однозначною без контексту граматикою: S→aaS→aaS \rightarrow a a S→bbS→bbS \rightarrow b b S→aSaS→aSaS \rightarrow a S a S→bSbS→bSbS \rightarrow b S b EPAL - це «бана» багатьох алгоритмів розбору: мені ще не доводилося стикатися з будь-яким алгоритмом розбору однозначних CFG, який …

3
Розбір довільних безконтекстних граматик, в основному коротких фрагментів
Я хочу проаналізувати визначені користувачем мови домену. Ці мови, як правило, близькі до математичних позначень (я не розбираю природну мову). Користувачі визначають свою DSL у позначенні BNF, наприклад: expr ::= LiteralInteger | ( expr ) | expr + expr | expr * expr Введення типу "подібне" 1 + ( 2 …

2
Чи існує для кожного «злого» виразу, чи існує альтернатива, яка не є злою, чи в граматиці є чорт?
Мабуть, атаки ReDos експлуатують характеристики деяких (інакше корисних) регулярних виразів ... по суті викликаючи вибух можливих шляхів через графік, визначений NFA. Чи можна уникнути подібних проблем, написавши рівнозначний «не злий» підсумок? Якщо ні (таким чином, граматика не може оброблятись у практичному просторі / часі NFA), який підхід до розбору був …

2
Чи регулярні вирази
Якщо у мене є граматика типу 3, вона може бути представлена ​​на автоматичному віджиманні (не виконуючи жодної операції над стеком), тому я можу представляти регулярні вирази за допомогою контекстних вільних мов. Але чи можу я знати, якщо граматика типу 3 - , , тощо, не будуючи таблиць розбору?L R ( …

1
Навіщо розділяти лексинг та розбір?
Можна проаналізувати документ за допомогою одного пропуску з державної машини. Яка користь мати два проходи, тобто. мати лексеру для перетворення тексту в лексеми та аналізатор для тестування правил виробництва для цих маркерів? Чому б не було єдиного пропуску, який застосовує правила виробництва безпосередньо до тексту?

2
Що таке IELR (1) -паратор?
Я намагаюся навчити себе вживати зубрів. Сторінка бізона (1) говорить про зубра: Створіть детермінований LR або узагальнений парсер LR (GLR), використовуючи LALR (1), IELR (1) або канонічний LR (1) парсер таблиць. Що таке IELR-аналізатор? Усі релевантні статті, які я знайшов у всесвітній мережі Інтернету, платні.

1
Коли
Згідно зі статтею Вікіпедії , L у означає "сканування зліва направо", а "R" означає "найправіше виведення". Однак в оригінальній статті Кнута про граматики L R ( k ) він визначає L R ( k ) (на стор. 610) як мову, що "перекладається зліва направо із пов'язаною k ".LR(k)LR(k)LR(k)LR(k)LR(k)LR(k)LR(k)LR(k)LR(k)kkk Я здогадуюсь, …

3
Що б ви отримали, якщо додати параметри до контекстних граматик?
Я думав про граматики для чутливих до індендації мов, і схоже, що граматики CF виконають трюк у поєднанні з параметрами. Як приклад, розглянемо цей фрагмент для спрощеної граматики Python у форматі, подібному до ANTLR: // on top-level the statements have empty indent program : statement('')+ ; // let's consider only …

5
Чим неоднозначність відрізняється від детермінізму?
Я намагаюся зрозуміти, що мається на увазі під "детермінованим" в таких виразах, як "детермінована граматика без контексту". (У цьому полі є детермінованіші "речі"). Я би вдячний прикладом більше, ніж найяскравішим поясненням! Якщо можливо. Моє основне джерело плутанини - це не в змозі сказати, чим ця властивість граматики відрізняється від неоднозначності. …

3
Чому використання лексера / парсера для двійкових даних так неправильно?
Я часто працюю з лексером / парсерами , на відміну від комбінатора парсера і бачу людей, які ніколи не брали клас на розбір, запитують про розбір бінарних даних. Зазвичай дані не тільки двійкові, але й контекстно-залежні. Це в основному призводить до наявності лише одного типу токена, лексеми для байта. Чи …

2
Видалення лівої рекурсії в граматиці при збереженні лівої асоціації оператора
У мене проблема з цією вправою: Нехай G - наступна неоднозначна граматика λ-числення: E → v | λv.E | EE | (E) де E - єдиний нетермінальний символ, λv.E являє собою абстракцію wrt змінної v в E, а EE являє додаток. Визначте граматику LL (1) G 'так, що L (G …

2
Чи можна розрізнити граматику LL (k) та LR (k)?
Я нещодавно вивчаю питання проектування компіляторів. Мені стало відомо про два типи граматик, один - граматика ЛЛ, а другий - граматика ЛР. Ми також знаємо факти, що кожна граматика LL є LR, що є LL граматикою - це належна підмножина граматики LR. Перший використовується при синтаксичному розборі зверху вниз, а …

2
Чи потрібна мова регулярних виразів для автоматичного розбору?
Я хочу перетворити введений користувачем регулярний вираз в NFA, щоб потім я міг запустити NFA у рядок для відповідності цілям. Яка мінімальна машина, яку можна використовувати для розбору регулярних виразів? Я припускаю, що це повинен бути автоматичний поштовх, оскільки подання дужок означає необхідність підрахунку, а DFA / NFA не може …

3
Як ця граматика LL (1)?
Це питання з Книги Драконів. Це граматика: S→ A a A b ∣ B b B aS→AaAb∣BbBaS \to AaAb \mid BbBa A → εA→εA \to \varepsilon B → εB→εB \to \varepsilon Питання задає питання, як показати, що це LL (1), але не SLR (1). Щоб довести, що це LL (1), …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.