Синтаксический анализатор
От: barysh Россия  
Дата: 16.11.11 08:40
Оценка:
Здравствуйте, мне надо написать синтаксический анализатор языка для описания посредством LL(1) грамматик. (т.е. например задание : " Язык последовательностей из 0, 1 и 2, каждый член которых либо равен сумме двух предыдущих по модулю 3, либо равен 2." или "Тарабарский язык. После каждого слога вставляется одна и та же буква, например, «К». Пример. Вместо Кобралово будет КоКбраКлоКвоК." или язык предикатов и т.д.)
В итоге надо получить набор примеров и контрпримеров языка, грамматика, грамматический разбор типичного примера, проверка на однозначность ветвления, модифицированная грамматика (если нужно), синтаксические диаграммы ( в таблице из трех столбиков: правило-диаграмма-замечания), алгоритм синтаксического анализа (в таблице из трех столбиков: правило или диаграмма-оператор на псевдокоде-замечания), код синтаксического анализатора (в таблице из трех столбиков: оператор на псевдокоде-оператор в используемом АЯ-замечания) и код.
Начал читать "книгу дракона", но смущает ее размер(правда я так понимаю мне будет достаточно первых глав)
Может кто сказать что еще почитать и есть ли похожие примеры ?
компилятор синтакcический анализатор java книга дракона dragon
Re: Синтаксический анализатор
От: Аноним  
Дата: 16.11.11 09:04
Оценка:
Здравствуйте, barysh, Вы писали:

B>Здравствуйте, мне надо написать синтаксический анализатор языка для описания посредством LL(1) грамматик. (т.е. например задание : " Язык последовательностей из 0, 1 и 2, каждый член которых либо равен сумме двух предыдущих по модулю 3, либо равен 2." или "Тарабарский язык. После каждого слога вставляется одна и та же буква, например, «К». Пример. Вместо Кобралово будет КоКбраКлоКвоК." или язык предикатов и т.д.)

B>В итоге надо получить набор примеров и контрпримеров языка, грамматика, грамматический разбор типичного примера, проверка на однозначность ветвления, модифицированная грамматика (если нужно), синтаксические диаграммы ( в таблице из трех столбиков: правило-диаграмма-замечания), алгоритм синтаксического анализа (в таблице из трех столбиков: правило или диаграмма-оператор на псевдокоде-замечания), код синтаксического анализатора (в таблице из трех столбиков: оператор на псевдокоде-оператор в используемом АЯ-замечания) и код.
B>Начал читать "книгу дракона", но смущает ее размер(правда я так понимаю мне будет достаточно первых глав)
B>Может кто сказать что еще почитать и есть ли похожие примеры ?

почитать можно http://citforum.ru/programming/theory/serebryakov/
А почему LL(1) а не LR(1)?
Re[2]: Синтаксический анализатор
От: barysh Россия  
Дата: 16.11.11 10:01
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, barysh, Вы писали:


B>>Здравствуйте, мне надо написать синтаксический анализатор языка для описания посредством LL(1) грамматик. (т.е. например задание : " Язык последовательностей из 0, 1 и 2, каждый член которых либо равен сумме двух предыдущих по модулю 3, либо равен 2." или "Тарабарский язык. После каждого слога вставляется одна и та же буква, например, «К». Пример. Вместо Кобралово будет КоКбраКлоКвоК." или язык предикатов и т.д.)

B>>В итоге надо получить набор примеров и контрпримеров языка, грамматика, грамматический разбор типичного примера, проверка на однозначность ветвления, модифицированная грамматика (если нужно), синтаксические диаграммы ( в таблице из трех столбиков: правило-диаграмма-замечания), алгоритм синтаксического анализа (в таблице из трех столбиков: правило или диаграмма-оператор на псевдокоде-замечания), код синтаксического анализатора (в таблице из трех столбиков: оператор на псевдокоде-оператор в используемом АЯ-замечания) и код.
B>>Начал читать "книгу дракона", но смущает ее размер(правда я так понимаю мне будет достаточно первых глав)
B>>Может кто сказать что еще почитать и есть ли похожие примеры ?

А>почитать можно http://citforum.ru/programming/theory/serebryakov/

А>А почему LL(1) а не LR(1)?

Потому что такое задание) а есть принципиальное отличие ?
Re[3]: Синтаксический анализатор
От: ashkotin  
Дата: 16.11.11 10:25
Оценка:
B>Потому что такое задание) а есть принципиальное отличие ?

наверно, есть. Просто уточнил
Re: Синтаксический анализатор
От: Nikkk2010  
Дата: 16.11.11 12:55
Оценка:
Здравствуйте, barysh, Вы писали:
B>Может кто сказать что еще почитать и есть ли похожие примеры ?

Рекомендую
Льюис Ф., Розенкранц Д., Стирнз Р. Теоретические основы проектирования компиляторов
Доступно описаны LL(1) грамматики
I do all my own stunts
Re: Синтаксический анализатор
От: LaptevVV Россия  
Дата: 20.11.11 16:47
Оценка:
Здравствуйте, barysh, Вы писали:

B>Начал читать "книгу дракона", но смущает ее размер(правда я так понимаю мне будет достаточно первых глав)

B>Может кто сказать что еще почитать и есть ли похожие примеры ?
Из современных:
Свердлов. Языки программирования и методы трансляции
Никлаус Вирт. Построение компиляторов
Хочешь быть счастливым — будь им!
Без булдырабыз!!!
Re: Синтаксический анализатор
От: batu Украина  
Дата: 20.11.11 17:18
Оценка:
Здравствуйте, barysh, Вы писали:

B>Здравствуйте, мне надо написать синтаксический анализатор языка для описания посредством LL(1) грамматик. (т.е. например задание : " Язык последовательностей из 0, 1 и 2, каждый член которых либо равен сумме двух предыдущих по модулю 3, либо равен 2."

Сначала надо знать что такое LL(r) грамматика. Упрощенно это грамматика которая гарантировано распознает за r шагов. Прелесть этой грамматики в том, что можно построить линейный распознаватель. Никакого отношения к предложенной далее в скобках грамматике это не имеет и иметь не может. Ее не возможно представить регулярными выражениями.
или "Тарабарский язык. После каждого слога вставляется одна и та же буква, например, «К». Пример. Вместо Кобралово будет КоКбраКлоКвоК." или язык предикатов и т.д.)
Здесь правила достаточно простые. Но все настолько стандартно, что я не вижу даже задачи.
B>В итоге надо получить набор примеров и контрпримеров языка, грамматика, грамматический разбор типичного примера, проверка на однозначность ветвления, модифицированная грамматика (если нужно), синтаксические диаграммы ( в таблице из трех столбиков: правило-диаграмма-замечания), алгоритм синтаксического анализа (в таблице из трех столбиков: правило или диаграмма-оператор на псевдокоде-замечания), код синтаксического анализатора (в таблице из трех столбиков: оператор на псевдокоде-оператор в используемом АЯ-замечания) и код.

B>Начал читать "книгу дракона", но смущает ее размер(правда я так понимаю мне будет достаточно первых глав)

B>Может кто сказать что еще почитать и есть ли похожие примеры ?
Дракон больше практический.. Теория более полно тех же авторов (Ахо, Ульман ) здесь. Теория синтаксического анализа, перевода и компиляции.
Re[2]: Синтаксический анализатор
От: barysh Россия  
Дата: 20.11.11 19:26
Оценка:
Здравствуйте, batu, Вы писали:

B>Здравствуйте, barysh, Вы писали:


B>>Здравствуйте, мне надо написать синтаксический анализатор языка для описания посредством LL(1) грамматик. (т.е. например задание : " Язык последовательностей из 0, 1 и 2, каждый член которых либо равен сумме двух предыдущих по модулю 3, либо равен 2."

B>Сначала надо знать что такое LL(r) грамматика. Упрощенно это грамматика которая гарантировано распознает за r шагов. Прелесть этой грамматики в том, что можно построить линейный распознаватель. Никакого отношения к предложенной далее в скобках грамматике это не имеет и иметь не может. Ее не возможно представить регулярными выражениями.
B> или "Тарабарский язык. После каждого слога вставляется одна и та же буква, например, «К». Пример. Вместо Кобралово будет КоКбраКлоКвоК." или язык предикатов и т.д.)
B>Здесь правила достаточно простые. Но все настолько стандартно, что я не вижу даже задачи.
B>>В итоге надо получить набор примеров и контрпримеров языка, грамматика, грамматический разбор типичного примера, проверка на однозначность ветвления, модифицированная грамматика (если нужно), синтаксические диаграммы ( в таблице из трех столбиков: правило-диаграмма-замечания), алгоритм синтаксического анализа (в таблице из трех столбиков: правило или диаграмма-оператор на псевдокоде-замечания), код синтаксического анализатора (в таблице из трех столбиков: оператор на псевдокоде-оператор в используемом АЯ-замечания) и код.

B>>Начал читать "книгу дракона", но смущает ее размер(правда я так понимаю мне будет достаточно первых глав)

B>>Может кто сказать что еще почитать и есть ли похожие примеры ?
B>Дракон больше практический.. Теория более полно тех же авторов (Ахо, Ульман ) здесь. Теория синтаксического анализа, перевода и компиляции.

Общее представление о LL грамматике я имею Но пока не полное..
Вы хотите сказать что примеры заданий(те что в скобках) не имеют отношения к LL грамматике или что ? то есть представленное задание некорректно ?
Re[3]: Синтаксический анализатор
От: batu Украина  
Дата: 20.11.11 19:48
Оценка:
Здравствуйте, barysh, Вы писали:

B>Общее представление о LL грамматике я имею Но пока не полное..

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