Сообщение Re[31]: Опциональные типы от 18.03.2017 7:29
Изменено 18.03.2017 7:32 vdimas
Re[31]: Опциональные типы
Здравствуйте, WolfHound, Вы писали:
V>>Ты эпично слился с ЗТ в С++. Если оттрекать весь спор с самого начала — ни одно моё утверждение не было ошибочным.
WH>
WH>Тип — это именованное множество значений.
WH>Множество значений ЗТ зависит от значения.
WH>На С++ так нельзя. И на хаскеле так тоже нельзя.
WH>Всё.
Наша песня хороша, начинай сначала?![](/Forum/Images/facepalm.gif)
Я уже давал ссылки на одну из теорий типов, где всё является типами, т.е. все участники этой иерархии однородны и просто описываются отношениями друг с другом.
В этом случае подобные иерархии схлопываются.
В любом случае, нам вся эта кухня нужна не для терминологического спора, а для выяснения класса задач, которые можно готовить на этой кухне.
Было показано, что через трюк однозначного отображения значений на типы при поддержке полноценного параметрического полиморфизма можно решать тот класс задач, который по зубам только системам с ЗТ.
Вот теперь всё.
Остальное — это лишь демонстрация непонимания.
V>>Ваша Нитра идёт на одну всего платформу, т.е. её потенциальный рынок тоже 2-3 построенных на ней ИДЕ.
WH>Наша нитра уже сейчас может быть встроена в любую ИДЕ на винде, маке и линухе.
WH>Ибо движок живёт в отдельном процессе и общается с ИДЕ по очень тонкому протоколу.
Пусть тогда в Сети где-то живет, какая уже тогда разница?
Даёшь ферму Nitra-сервисов? ))
V>>Любой тулкит ASN.1 — это генератор парсеров.
WH>А ещё сериализаторов и биндингов к языкам.
WH>А если бинарный формат нужно парсить ANTLR'ом то тут явный неадекват.
Не отмазывайся, ты утверждал, что генератор парсера для бинарного формата — это бред.
Бинарные форматы, так же как и текстовые, могут иметь весьма развесистую грамматику.
Принципиальной разницы тут нет.
А непринципиальная заключается в том, что у текста наблюдается ограниченный алфавит терминалов, в сравнении с бинарным потоком.
V>>Смысл появляется начиная от грамматики банального калькулятора, где через грамматику описывается приоритет операций.
WH>В нормальных инструментах это делают вот так
WH>
WH>В крайнем случае можно использовать числа.
ЧТД. Прибили гвоздями к некоторой семантике бинарных операций.
V>>И не надо мне опять про набивший оскомину ПЕГ, где приоритет задаётся явно через "правильную" очередность описания правил.
WH>Приоритетный выбор не имеет никакого отношения к приоритету операций.
Я про применение правил вообще, а не только про бинарные операции.
V>>Мне надо без всякой "правильной" очередности.
V>>Мне надо честный choice.![](/Forum/Images/xz.gif)
WH>Тебе ничего не надо. Ибо ты не понимаешь, что там происходит, а значит не можешь осмысленно выбрать.
Ну, это не тебе решать.
Я думаю, что ты должен хорошо понимать фразу "честный choice".
Для сторонних читателей мне малость лень расписывать, но "честность" выбора резко развязывает руки в деле описания грамматики.
WH>Я спрашиваю нахрена мне графическое представление грамматики?
Тебе не надо, мне надо.
Я большие массивы информации лучше читаю в виде карт-схем.
WH>>>Что тебе даст стрелка, идущая мимо expression по сравнению со знаком "?" стоящим после expression?
V>>Покажет, правильно ли я поставил закрывающие скобки.
WH>
ЧТД. Нечего ответить.
Речь о скобке в исходном описании грамматики, а не во входных данных для разбора.
V>>Потому что ты выдаешь "окончательные суждения" именно на основе неполной информации.
V>>Специалист обязан во всём сомневаться и сам всё проверять.
V>>Считай, что это религия такая. Обязательная к принятию догма.
WH>Ты опять облажался и пытаешься соскочить с вопроса.
Ладно. Твоя демагогия надоела.
Смотри, что ты делаешь.
Ты взял некие два заведомо не самых эффективных алгоритма парсинга — Пакрат и Эрли.
Затем ты допилил их до более-менее приемлемой эффективности.
Молодец ты в этом месте? — Молодец.
Но в то же самое время ты с пеной у рта утверждаешь, что никакие другие алгоритмы не поддаются подбному допиливаю принципиально.
А вот это уже дурь натуральная, бороться с которой мне уже порядком надоело.
Потому что сами рассуждения подобного рода — это инженерный идиотизм, это махровые предрассудки и прочее из области порождения и распространения мифов. Вот чем ты тут занят. В этой области ты НЕ молодец, а ровно наоборот.
Вот еще чуток копнул, вижу алгоритм NR GRL.
Вот данные по грамматике языка С в кол-ве операций обхода для некоего тестового примера:
GLR на основе LR(0) — 42707
GLR на основе LR(1) — 30754
RNGLR на основе LR(0) — 5184
RNGLR на основе LR(1) — 4450
Разница на порядок в вычислительной сложности для С.
А теперь на специальном "патологическом" для GLR примере:
GLR на основе LR(0) — 334831502
GLR на основе LR(1) — 1000001
RNGLR на основе LR(0) — 499500
RNGLR на основе LR(1) — 999
Искать Evaluating-GLR-parsing-algorithms_2006_Science-of-Computer-Programming.pdf
V>>Ну так в другой раз переспроси, если некая терминология не понятна, а не накидывайся сходу.![](/Forum/Images/facepalm.gif)
WH>Ну так я и спрашиваю. Как ручное описание алгоритма восстановления (что само по себе дикий неадекват) относится к целевым правилам в лексере?
Ну ясно. Не понял и не понял даже расписанное на пальцах.
Соображалка с возрастом ухудшается?
И это говорит тот, кто постоянно обвиняет в непонимании других?![](/Forum/Images/facepalm.gif)
V>>Считай, что ты таким образом помечаешь правила, до которых имеет смысл восстановиться.
V>>Потому что тут чисто человеческий фактор — не до любых правил имеет смысл восстанавливаться.
WH>Вот только о чудо. Нитра без этого работает.
Еще раз, медленно.
В нитре лексер и парсер описываются совместно.
Поэтому, ты имеешь возможность восстанавливаться посимвольно.
V>>Ты же взял Эрли, а там всё было еще печальнее в тестах?
WH>Ты меня совсем не слушаешь. Эрли работает на 1% кода и только в случае если код сломан.
1. У меня в процессе активной набивки код практически всегда сломан.
2. Всё равно выбор Эрли из других обобщённых не обоснован.
V>>>>Пакрат запоминает удачные ветки разбора, Эрли все. Это принципиально. Держим это в уме и пытаемся ставить задачу.
WH>>>Классический пакрат для каждой позиции в тексте запоминает результат разбора всех правил грамматики для этой позиции.
V>>Учись пользоваться общепринятой терминологией.
V>>Описанное верно для "предпросмотра" строго на 1, т.е. имея на руках текущую лексему.
WH>Что за бред опять. Ты вообще про пакрат читал? Похоже, что нет. Или вместо чтения слушал голоса.
WH>Пакрат работает посимвольно без всякого предпросмотра.
Да что ты несешь-то уже, боже пипец какое это чудовищное нубство, а-а-а-а-а-аа-а-а.![](/Forum/Images/facepalm.gif)
Вот ты себя и закопал только что.
Показываю в два приёма:
Ты алгоритм парсинга LL(1) по ДКА смотрел?
А с Пакратом сравнивал (построение такого ДКА)?
А есть ли в коде парсера по ДКА, построенному для LL(1) явная операция "предпросмотра"?
Нет? А в самом исхордном алгориме есть.
Как так?![](/Forum/Images/lol.gif)
Кароч, всё ясно.
Пфф и наше вам с кисточкой...
==========
(боже, с кем я спорил столько времени....)
V>>Ты эпично слился с ЗТ в С++. Если оттрекать весь спор с самого начала — ни одно моё утверждение не было ошибочным.
WH>
![](/Forum/Images/lol.gif)
WH>Тип — это именованное множество значений.
WH>Множество значений ЗТ зависит от значения.
WH>На С++ так нельзя. И на хаскеле так тоже нельзя.
WH>Всё.
Наша песня хороша, начинай сначала?
![](/Forum/Images/facepalm.gif)
Я уже давал ссылки на одну из теорий типов, где всё является типами, т.е. все участники этой иерархии однородны и просто описываются отношениями друг с другом.
В этом случае подобные иерархии схлопываются.
В любом случае, нам вся эта кухня нужна не для терминологического спора, а для выяснения класса задач, которые можно готовить на этой кухне.
Было показано, что через трюк однозначного отображения значений на типы при поддержке полноценного параметрического полиморфизма можно решать тот класс задач, который по зубам только системам с ЗТ.
Вот теперь всё.
Остальное — это лишь демонстрация непонимания.
V>>Ваша Нитра идёт на одну всего платформу, т.е. её потенциальный рынок тоже 2-3 построенных на ней ИДЕ.
WH>Наша нитра уже сейчас может быть встроена в любую ИДЕ на винде, маке и линухе.
WH>Ибо движок живёт в отдельном процессе и общается с ИДЕ по очень тонкому протоколу.
Пусть тогда в Сети где-то живет, какая уже тогда разница?
Даёшь ферму Nitra-сервисов? ))
V>>Любой тулкит ASN.1 — это генератор парсеров.
WH>А ещё сериализаторов и биндингов к языкам.
WH>А если бинарный формат нужно парсить ANTLR'ом то тут явный неадекват.
Не отмазывайся, ты утверждал, что генератор парсера для бинарного формата — это бред.
Бинарные форматы, так же как и текстовые, могут иметь весьма развесистую грамматику.
Принципиальной разницы тут нет.
А непринципиальная заключается в том, что у текста наблюдается ограниченный алфавит терминалов, в сравнении с бинарным потоком.
V>>Смысл появляется начиная от грамматики банального калькулятора, где через грамматику описывается приоритет операций.
WH>В нормальных инструментах это делают вот так
WH>
...
WH>
WH>В крайнем случае можно использовать числа.
ЧТД. Прибили гвоздями к некоторой семантике бинарных операций.
V>>И не надо мне опять про набивший оскомину ПЕГ, где приоритет задаётся явно через "правильную" очередность описания правил.
WH>Приоритетный выбор не имеет никакого отношения к приоритету операций.
Я про применение правил вообще, а не только про бинарные операции.
V>>Мне надо без всякой "правильной" очередности.
V>>Мне надо честный choice.
![](/Forum/Images/xz.gif)
WH>Тебе ничего не надо. Ибо ты не понимаешь, что там происходит, а значит не можешь осмысленно выбрать.
Ну, это не тебе решать.
Я думаю, что ты должен хорошо понимать фразу "честный choice".
Для сторонних читателей мне малость лень расписывать, но "честность" выбора резко развязывает руки в деле описания грамматики.
WH>Я спрашиваю нахрена мне графическое представление грамматики?
Тебе не надо, мне надо.
Я большие массивы информации лучше читаю в виде карт-схем.
WH>>>Что тебе даст стрелка, идущая мимо expression по сравнению со знаком "?" стоящим после expression?
V>>Покажет, правильно ли я поставил закрывающие скобки.
WH>
![](/Forum/Images/lol.gif)
ЧТД. Нечего ответить.
Речь о скобке в исходном описании грамматики, а не во входных данных для разбора.
V>>Потому что ты выдаешь "окончательные суждения" именно на основе неполной информации.
V>>Специалист обязан во всём сомневаться и сам всё проверять.
V>>Считай, что это религия такая. Обязательная к принятию догма.
WH>Ты опять облажался и пытаешься соскочить с вопроса.
Ладно. Твоя демагогия надоела.
Смотри, что ты делаешь.
Ты взял некие два заведомо не самых эффективных алгоритма парсинга — Пакрат и Эрли.
Затем ты допилил их до более-менее приемлемой эффективности.
Молодец ты в этом месте? — Молодец.
Но в то же самое время ты с пеной у рта утверждаешь, что никакие другие алгоритмы не поддаются подбному допиливаю принципиально.
А вот это уже дурь натуральная, бороться с которой мне уже порядком надоело.
Потому что сами рассуждения подобного рода — это инженерный идиотизм, это махровые предрассудки и прочее из области порождения и распространения мифов. Вот чем ты тут занят. В этой области ты НЕ молодец, а ровно наоборот.
Вот еще чуток копнул, вижу алгоритм NR GRL.
Вот данные по грамматике языка С в кол-ве операций обхода для некоего тестового примера:
GLR на основе LR(0) — 42707
GLR на основе LR(1) — 30754
RNGLR на основе LR(0) — 5184
RNGLR на основе LR(1) — 4450
Разница на порядок в вычислительной сложности для С.
А теперь на специальном "патологическом" для GLR примере:
GLR на основе LR(0) — 334831502
GLR на основе LR(1) — 1000001
RNGLR на основе LR(0) — 499500
RNGLR на основе LR(1) — 999
Искать Evaluating-GLR-parsing-algorithms_2006_Science-of-Computer-Programming.pdf
V>>Ну так в другой раз переспроси, если некая терминология не понятна, а не накидывайся сходу.
![](/Forum/Images/facepalm.gif)
WH>Ну так я и спрашиваю. Как ручное описание алгоритма восстановления (что само по себе дикий неадекват) относится к целевым правилам в лексере?
Ну ясно. Не понял и не понял даже расписанное на пальцах.
Соображалка с возрастом ухудшается?
И это говорит тот, кто постоянно обвиняет в непонимании других?
![](/Forum/Images/facepalm.gif)
V>>Считай, что ты таким образом помечаешь правила, до которых имеет смысл восстановиться.
V>>Потому что тут чисто человеческий фактор — не до любых правил имеет смысл восстанавливаться.
WH>Вот только о чудо. Нитра без этого работает.
Еще раз, медленно.
В нитре лексер и парсер описываются совместно.
Поэтому, ты имеешь возможность восстанавливаться посимвольно.
V>>Ты же взял Эрли, а там всё было еще печальнее в тестах?
WH>Ты меня совсем не слушаешь. Эрли работает на 1% кода и только в случае если код сломан.
1. У меня в процессе активной набивки код практически всегда сломан.
2. Всё равно выбор Эрли из других обобщённых не обоснован.
V>>>>Пакрат запоминает удачные ветки разбора, Эрли все. Это принципиально. Держим это в уме и пытаемся ставить задачу.
WH>>>Классический пакрат для каждой позиции в тексте запоминает результат разбора всех правил грамматики для этой позиции.
V>>Учись пользоваться общепринятой терминологией.
V>>Описанное верно для "предпросмотра" строго на 1, т.е. имея на руках текущую лексему.
WH>Что за бред опять. Ты вообще про пакрат читал? Похоже, что нет. Или вместо чтения слушал голоса.
WH>Пакрат работает посимвольно без всякого предпросмотра.
Да что ты несешь-то уже, боже пипец какое это чудовищное нубство, а-а-а-а-а-аа-а-а.
![](/Forum/Images/facepalm.gif)
Вот ты себя и закопал только что.
Показываю в два приёма:
Ты алгоритм парсинга LL(1) по ДКА смотрел?
А с Пакратом сравнивал (построение такого ДКА)?
А есть ли в коде парсера по ДКА, построенному для LL(1) явная операция "предпросмотра"?
Нет? А в самом исхордном алгориме есть.
Как так?
![](/Forum/Images/lol.gif)
Кароч, всё ясно.
Пфф и наше вам с кисточкой...
==========
(боже, с кем я спорил столько времени....)
Re[31]: Опциональные типы
Здравствуйте, WolfHound, Вы писали:
V>>Ты эпично слился с ЗТ в С++. Если оттрекать весь спор с самого начала — ни одно моё утверждение не было ошибочным.
WH>
WH>Тип — это именованное множество значений.
WH>Множество значений ЗТ зависит от значения.
WH>На С++ так нельзя. И на хаскеле так тоже нельзя.
WH>Всё.
Наша песня хороша, начинай сначала?![](/Forum/Images/facepalm.gif)
Я уже давал ссылки на одну из теорий типов, где всё является типами, т.е. все участники этой иерархии однородны и просто описываются отношениями друг с другом.
В этом случае подобные иерархии схлопываются.
В любом случае, нам вся эта кухня нужна не для терминологического спора, а для выяснения класса задач, которые можно готовить на этой кухне.
Было показано, что через трюк однозначного отображения значений на типы при поддержке полноценного параметрического полиморфизма можно решать тот класс задач, который по зубам только системам с ЗТ.
Вот теперь всё.
Остальное — это лишь демонстрация непонимания.
V>>Ваша Нитра идёт на одну всего платформу, т.е. её потенциальный рынок тоже 2-3 построенных на ней ИДЕ.
WH>Наша нитра уже сейчас может быть встроена в любую ИДЕ на винде, маке и линухе.
WH>Ибо движок живёт в отдельном процессе и общается с ИДЕ по очень тонкому протоколу.
Пусть тогда в Сети где-то живет, какая уже тогда разница?
Даёшь ферму Nitra-сервисов? ))
V>>Любой тулкит ASN.1 — это генератор парсеров.
WH>А ещё сериализаторов и биндингов к языкам.
WH>А если бинарный формат нужно парсить ANTLR'ом то тут явный неадекват.
Не отмазывайся, ты утверждал, что генератор парсера для бинарного формата — это бред.
Бинарные форматы, так же как и текстовые, могут иметь весьма развесистую грамматику.
Принципиальной разницы тут нет.
А непринципиальная заключается в том, что у текста наблюдается ограниченный алфавит терминалов, в сравнении с бинарным потоком.
V>>Смысл появляется начиная от грамматики банального калькулятора, где через грамматику описывается приоритет операций.
WH>В нормальных инструментах это делают вот так
WH>
WH>В крайнем случае можно использовать числа.
ЧТД. Прибили гвоздями к некоторой семантике бинарных операций.
V>>И не надо мне опять про набивший оскомину ПЕГ, где приоритет задаётся явно через "правильную" очередность описания правил.
WH>Приоритетный выбор не имеет никакого отношения к приоритету операций.
Я про применение правил вообще, а не только про бинарные операции.
V>>Мне надо без всякой "правильной" очередности.
V>>Мне надо честный choice.![](/Forum/Images/xz.gif)
WH>Тебе ничего не надо. Ибо ты не понимаешь, что там происходит, а значит не можешь осмысленно выбрать.
Ну, это не тебе решать.
Я думаю, что ты должен хорошо понимать фразу "честный choice".
Для сторонних читателей мне малость лень расписывать, но "честность" выбора резко развязывает руки в деле описания грамматики.
WH>Я спрашиваю нахрена мне графическое представление грамматики?
Тебе не надо, мне надо.
Я большие массивы информации лучше читаю в виде карт-схем.
WH>>>Что тебе даст стрелка, идущая мимо expression по сравнению со знаком "?" стоящим после expression?
V>>Покажет, правильно ли я поставил закрывающие скобки.
WH>
ЧТД. Нечего ответить.
Речь о скобке в исходном описании грамматики, а не во входных данных для разбора.
V>>Потому что ты выдаешь "окончательные суждения" именно на основе неполной информации.
V>>Специалист обязан во всём сомневаться и сам всё проверять.
V>>Считай, что это религия такая. Обязательная к принятию догма.
WH>Ты опять облажался и пытаешься соскочить с вопроса.
Ладно. Твоя демагогия надоела.
Смотри, что ты делаешь.
Ты взял некие два заведомо не самых эффективных алгоритма парсинга — Пакрат и Эрли.
Затем ты допилил их до более-менее приемлемой эффективности.
Молодец ты в этом месте? — Молодец.
Но в то же самое время ты с пеной у рта утверждаешь, что никакие другие алгоритмы не поддаются подбному допиливаю принципиально.
А вот это уже дурь натуральная, бороться с которой мне уже порядком надоело.
Потому что сами рассуждения подобного рода — это инженерный идиотизм, это махровые предрассудки и прочее из области порождения и распространения мифов. Вот чем ты тут занят. В этой области ты НЕ молодец, а ровно наоборот.
Вот еще чуток копнул, вижу алгоритм NR GRL.
Вот данные по грамматике языка С в кол-ве операций обхода для некоего тестового примера:
GLR на основе LR(0) — 42707
GLR на основе LR(1) — 30754
RNGLR на основе LR(0) — 5184
RNGLR на основе LR(1) — 4450
Разница на порядок в вычислительной сложности для С.
А теперь на специальном "патологическом" для GLR примере:
GLR на основе LR(0) — 334831502
GLR на основе LR(1) — 1000001
RNGLR на основе LR(0) — 499500
RNGLR на основе LR(1) — 999
Искать Evaluating-GLR-parsing-algorithms_2006_Science-of-Computer-Programming.pdf
V>>Ну так в другой раз переспроси, если некая терминология не понятна, а не накидывайся сходу.![](/Forum/Images/facepalm.gif)
WH>Ну так я и спрашиваю. Как ручное описание алгоритма восстановления (что само по себе дикий неадекват) относится к целевым правилам в лексере?
Ну ясно. Не понял и не понял даже расписанное на пальцах.
Соображалка с возрастом ухудшается?
И это говорит тот, кто постоянно обвиняет в непонимании других?![](/Forum/Images/facepalm.gif)
V>>Считай, что ты таким образом помечаешь правила, до которых имеет смысл восстановиться.
V>>Потому что тут чисто человеческий фактор — не до любых правил имеет смысл восстанавливаться.
WH>Вот только о чудо. Нитра без этого работает.
Еще раз, медленно.
В нитре лексер и парсер описываются совместно.
Поэтому, ты имеешь возможность восстанавливаться посимвольно.
V>>Ты же взял Эрли, а там всё было еще печальнее в тестах?
WH>Ты меня совсем не слушаешь. Эрли работает на 1% кода и только в случае если код сломан.
1. У меня в процессе активной набивки код практически всегда сломан.
2. Всё равно выбор Эрли из других обобщённых не обоснован.
V>>>>Пакрат запоминает удачные ветки разбора, Эрли все. Это принципиально. Держим это в уме и пытаемся ставить задачу.
WH>>>Классический пакрат для каждой позиции в тексте запоминает результат разбора всех правил грамматики для этой позиции.
V>>Учись пользоваться общепринятой терминологией.
V>>Описанное верно для "предпросмотра" строго на 1, т.е. имея на руках текущую лексему.
WH>Что за бред опять. Ты вообще про пакрат читал? Похоже, что нет. Или вместо чтения слушал голоса.
WH>Пакрат работает посимвольно без всякого предпросмотра.
Да что ты несешь-то уже, боже пипец какое это чудовищное нубство, а-а-а-а-а-аа-а-а.![](/Forum/Images/facepalm.gif)
Вот ты себя и закопал только что.
Показываю в два приёма:
Ты алгоритм парсинга LL(1) по ДКА смотрел?
А с Пакратом сравнивал (построение такого ДКА)?
А есть ли в коде парсера по ДКА, построенному для LL(1) явная операция "предпросмотра"?
Нет? А в самом исходном алгориме есть.
Как так?![](/Forum/Images/lol.gif)
Кароч, всё ясно.
Пфф и наше вам с кисточкой...
==========
(боже, с кем я спорил столько времени....)
V>>Ты эпично слился с ЗТ в С++. Если оттрекать весь спор с самого начала — ни одно моё утверждение не было ошибочным.
WH>
![](/Forum/Images/lol.gif)
WH>Тип — это именованное множество значений.
WH>Множество значений ЗТ зависит от значения.
WH>На С++ так нельзя. И на хаскеле так тоже нельзя.
WH>Всё.
Наша песня хороша, начинай сначала?
![](/Forum/Images/facepalm.gif)
Я уже давал ссылки на одну из теорий типов, где всё является типами, т.е. все участники этой иерархии однородны и просто описываются отношениями друг с другом.
В этом случае подобные иерархии схлопываются.
В любом случае, нам вся эта кухня нужна не для терминологического спора, а для выяснения класса задач, которые можно готовить на этой кухне.
Было показано, что через трюк однозначного отображения значений на типы при поддержке полноценного параметрического полиморфизма можно решать тот класс задач, который по зубам только системам с ЗТ.
Вот теперь всё.
Остальное — это лишь демонстрация непонимания.
V>>Ваша Нитра идёт на одну всего платформу, т.е. её потенциальный рынок тоже 2-3 построенных на ней ИДЕ.
WH>Наша нитра уже сейчас может быть встроена в любую ИДЕ на винде, маке и линухе.
WH>Ибо движок живёт в отдельном процессе и общается с ИДЕ по очень тонкому протоколу.
Пусть тогда в Сети где-то живет, какая уже тогда разница?
Даёшь ферму Nitra-сервисов? ))
V>>Любой тулкит ASN.1 — это генератор парсеров.
WH>А ещё сериализаторов и биндингов к языкам.
WH>А если бинарный формат нужно парсить ANTLR'ом то тут явный неадекват.
Не отмазывайся, ты утверждал, что генератор парсера для бинарного формата — это бред.
Бинарные форматы, так же как и текстовые, могут иметь весьма развесистую грамматику.
Принципиальной разницы тут нет.
А непринципиальная заключается в том, что у текста наблюдается ограниченный алфавит терминалов, в сравнении с бинарным потоком.
V>>Смысл появляется начиная от грамматики банального калькулятора, где через грамматику описывается приоритет операций.
WH>В нормальных инструментах это делают вот так
WH>
...
WH>
WH>В крайнем случае можно использовать числа.
ЧТД. Прибили гвоздями к некоторой семантике бинарных операций.
V>>И не надо мне опять про набивший оскомину ПЕГ, где приоритет задаётся явно через "правильную" очередность описания правил.
WH>Приоритетный выбор не имеет никакого отношения к приоритету операций.
Я про применение правил вообще, а не только про бинарные операции.
V>>Мне надо без всякой "правильной" очередности.
V>>Мне надо честный choice.
![](/Forum/Images/xz.gif)
WH>Тебе ничего не надо. Ибо ты не понимаешь, что там происходит, а значит не можешь осмысленно выбрать.
Ну, это не тебе решать.
Я думаю, что ты должен хорошо понимать фразу "честный choice".
Для сторонних читателей мне малость лень расписывать, но "честность" выбора резко развязывает руки в деле описания грамматики.
WH>Я спрашиваю нахрена мне графическое представление грамматики?
Тебе не надо, мне надо.
Я большие массивы информации лучше читаю в виде карт-схем.
WH>>>Что тебе даст стрелка, идущая мимо expression по сравнению со знаком "?" стоящим после expression?
V>>Покажет, правильно ли я поставил закрывающие скобки.
WH>
![](/Forum/Images/lol.gif)
ЧТД. Нечего ответить.
Речь о скобке в исходном описании грамматики, а не во входных данных для разбора.
V>>Потому что ты выдаешь "окончательные суждения" именно на основе неполной информации.
V>>Специалист обязан во всём сомневаться и сам всё проверять.
V>>Считай, что это религия такая. Обязательная к принятию догма.
WH>Ты опять облажался и пытаешься соскочить с вопроса.
Ладно. Твоя демагогия надоела.
Смотри, что ты делаешь.
Ты взял некие два заведомо не самых эффективных алгоритма парсинга — Пакрат и Эрли.
Затем ты допилил их до более-менее приемлемой эффективности.
Молодец ты в этом месте? — Молодец.
Но в то же самое время ты с пеной у рта утверждаешь, что никакие другие алгоритмы не поддаются подбному допиливаю принципиально.
А вот это уже дурь натуральная, бороться с которой мне уже порядком надоело.
Потому что сами рассуждения подобного рода — это инженерный идиотизм, это махровые предрассудки и прочее из области порождения и распространения мифов. Вот чем ты тут занят. В этой области ты НЕ молодец, а ровно наоборот.
Вот еще чуток копнул, вижу алгоритм NR GRL.
Вот данные по грамматике языка С в кол-ве операций обхода для некоего тестового примера:
GLR на основе LR(0) — 42707
GLR на основе LR(1) — 30754
RNGLR на основе LR(0) — 5184
RNGLR на основе LR(1) — 4450
Разница на порядок в вычислительной сложности для С.
А теперь на специальном "патологическом" для GLR примере:
GLR на основе LR(0) — 334831502
GLR на основе LR(1) — 1000001
RNGLR на основе LR(0) — 499500
RNGLR на основе LR(1) — 999
Искать Evaluating-GLR-parsing-algorithms_2006_Science-of-Computer-Programming.pdf
V>>Ну так в другой раз переспроси, если некая терминология не понятна, а не накидывайся сходу.
![](/Forum/Images/facepalm.gif)
WH>Ну так я и спрашиваю. Как ручное описание алгоритма восстановления (что само по себе дикий неадекват) относится к целевым правилам в лексере?
Ну ясно. Не понял и не понял даже расписанное на пальцах.
Соображалка с возрастом ухудшается?
И это говорит тот, кто постоянно обвиняет в непонимании других?
![](/Forum/Images/facepalm.gif)
V>>Считай, что ты таким образом помечаешь правила, до которых имеет смысл восстановиться.
V>>Потому что тут чисто человеческий фактор — не до любых правил имеет смысл восстанавливаться.
WH>Вот только о чудо. Нитра без этого работает.
Еще раз, медленно.
В нитре лексер и парсер описываются совместно.
Поэтому, ты имеешь возможность восстанавливаться посимвольно.
V>>Ты же взял Эрли, а там всё было еще печальнее в тестах?
WH>Ты меня совсем не слушаешь. Эрли работает на 1% кода и только в случае если код сломан.
1. У меня в процессе активной набивки код практически всегда сломан.
2. Всё равно выбор Эрли из других обобщённых не обоснован.
V>>>>Пакрат запоминает удачные ветки разбора, Эрли все. Это принципиально. Держим это в уме и пытаемся ставить задачу.
WH>>>Классический пакрат для каждой позиции в тексте запоминает результат разбора всех правил грамматики для этой позиции.
V>>Учись пользоваться общепринятой терминологией.
V>>Описанное верно для "предпросмотра" строго на 1, т.е. имея на руках текущую лексему.
WH>Что за бред опять. Ты вообще про пакрат читал? Похоже, что нет. Или вместо чтения слушал голоса.
WH>Пакрат работает посимвольно без всякого предпросмотра.
Да что ты несешь-то уже, боже пипец какое это чудовищное нубство, а-а-а-а-а-аа-а-а.
![](/Forum/Images/facepalm.gif)
Вот ты себя и закопал только что.
Показываю в два приёма:
Ты алгоритм парсинга LL(1) по ДКА смотрел?
А с Пакратом сравнивал (построение такого ДКА)?
А есть ли в коде парсера по ДКА, построенному для LL(1) явная операция "предпросмотра"?
Нет? А в самом исходном алгориме есть.
Как так?
![](/Forum/Images/lol.gif)
Кароч, всё ясно.
Пфф и наше вам с кисточкой...
==========
(боже, с кем я спорил столько времени....)