Re[19]: [Nitra] описание
От: Аноним  
Дата: 28.04.14 18:45
Оценка:
Здравствуйте, WolfHound, Вы писали:

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


VD>>Предикаты 3-го типа можно реализовать самостоятельно обрабатывая события появления неоднозначностей или обрабатывая AST содержащее неоднозначности.

WH>Я вообще не думаю, что в пасере нужны предикаты.
WH>ИМХО лучшим решением будет переложить разрешение неоднозначностей на типизатор.
WH>Ибо он в любом случае будет намного мощнее предикатов.

На сколько сильное взоимопроникновение парсера и типизатора?
например по мере разбора будет использоваться типизатор либо типизатор будет использваться после полной отработке парсера?
Re[20]: [Nitra] описание
От: WolfHound  
Дата: 29.04.14 11:57
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>На сколько сильное взоимопроникновение парсера и типизатора?

А>например по мере разбора будет использоваться типизатор либо типизатор будет использваться после полной отработке парсера?
Строго последовательно. Сначала парсер. Потом типизатор.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: [Nitra] описание
От: Аноним  
Дата: 29.04.14 15:22
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Здравствуйте, <Аноним>, Вы писали:


А>>На сколько сильное взоимопроникновение парсера и типизатора?

А>>например по мере разбора будет использоваться типизатор либо типизатор будет использваться после полной отработке парсера?
WH>Строго последовательно. Сначала парсер. Потом типизатор.

А сколько неоднозначных деревьев сделает парсер для типизатора? тысячи? миллионы? триллионы?
Re[22]: [Nitra] описание
От: WolfHound  
Дата: 29.04.14 17:26
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>А сколько неоднозначных деревьев сделает парсер для типизатора? тысячи? миллионы? триллионы?

В общем случае экспонента от размера текста.
Но есть два но.
1)Есть масса способов закодировать лес деревьев, так что в самом худшем случае он будет занимать N^3 от длины текста.
2)Худший случай на практике невозможен. Ибо языки делаются для людей. И если такое случится, то ни один человек не сможет понять, что же там такое происходит.
Максимум что может быть на практике это что-то типа C++ного
a*b;
А такие неоднозначности порождают лес деревьев линейного размера.

Короче я считаю данную проблему не существенной для практического использования.
... << RSDN@Home 1.2.0 alpha 5 rev. 62>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: [Nitra] описание
От: Аноним  
Дата: 29.04.14 19:09
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Короче я считаю данную проблему не существенной для практического использования.


Ждем парсера С++?
И его проверке на бусте.
Re[7]: [Nitra] описание
От: STDray http://stdray.livejournal.com
Дата: 18.06.14 13:32
Оценка:
Здравствуйте, WolfHound, Вы писали:

WH>Но в данном случае это костыль. Хотелось бы придумать способ описания отступов в самой грамматике.


Судя по всему, надо просто добавить в синтаксис парсера Нитры правила для INDENT и DEDENT. Иначе кроме лексера и препроцессора ничего не видно.
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.