Русскоязычное программирование

Информация о пользователе

Привет, Гость! Войдите или зарегистрируйтесь.



Лисоплан 2017

Сообщений 1 страница 8 из 8

1

Сегодня годовщина публикации лисоплана. Можно подвести итоги работы за год, описать состояние дел, уточнить планы на будущее, попробовать договориться о совместной работе.

За год узнали и сделали немного, вклада MihalNik-а и инженера я так вообще не почувствовал, не понял, что они делают.

С Уткиным всё ясно, он тайно делает свой язык, не показывая исходники.
С Будденом тоже - он не уважает других людей путём нарушения спецификации FHS
Павиа ведёт разработку втёмную, так что говорить не о чем.
И где-то далеко на горизонте есть русская Алиса которая превосходит по достигнутому техническому уровню мои результаты, как богиня превосходит животных.

Лично у меня новый план на ближайшие года три такой:
1) доделать генерацию состояний для алгоритма LALR (ранее был SLR)
2) разобраться с упаковкой состояний для LALR
3) разобраться по-подробнее с построением комбинированного вычитающего ДКА
4) попробовать запустить 1Скрипт на linux (или хотя бы понять, какой у него примерно синтаксис)
(на другое у меня нет денег и достаточного интереса)
5) смотреть на развитие других направлений, таких как прямые парсеры EBNF на базе алгоритма Эрли

Чтобы договариваться нужны те, кто имеет к этому навыки, в частности умеет озвучивать свои цели, а у нас с этим проблемы

Отредактировано Лис (2017-10-28 16:15:52)

0

2

Лис написал(а):

1) доделать генерацию состояний для алгоритма LALR (ранее был SLR)
2) разобраться с упаковкой состояний для LALR


В связи с вновь открывшимися обстоятельствами эти два пункта изменяются на изучение IELR(1) и составление таблиц для minimal LR(1) parser

Отредактировано Лис (2017-11-08 16:55:49)

0

3

Почему реализация Earley с SPPF это не выход, а Marpa и Perl6 - тупик развития:
[html]<a href="http://blog.reverberate.org/2013/09/ll-and-lr-in-context-why-parsing-tools.html">http://blog.reverberate.org/2013/09/ll-and-lr-in-context-why-parsing-tools.html</a>[/html]

он, конечно, позволит распарсить розовое лучше, чем это делает yacc, только гарантий не будет, что в грамматике нет неоднозначностей из синей области
https://docs.google.com/drawings/d/1SATUGvZCcetW91Tnb40NybQ_zag_5WX6zIF41dG8WRM/pub?w=621&amp;h=442

тут надо различать КС-языки и КС-грамматики. алгоритм Earley разберёт все КС-языки, но если грамматика была написана неоднозначной, то в итоге образуется SPPF (причём неизвестно каким образом) и что тогда с этим лесом делать?

Earley хорош тем, что он всё делает на лету. И можно даже менять саму грамматику в середине процесса разбора. Но практически это неясно как и зачем.

Павиа говорит, что нам нужен генератор парсеров-по-спецификациям промышленного уровня.
Уткин говорит, что не надо переписывать bison на русские буквы. Мол получится ровно то же самое.

Было бы заманчиво всё-таки сделать такой генератор для грамматики EBNF по стандарту (с операцией вычитания).
Это было бы продвижением (конкурентным преимуществом) по сравнению с bison. И тогда мотивация уткина была бы применима (что у меня тоже поэтессы и преферанс).
Но есть два "но".

1) не ясно как всё-таки работать с вычитаниями регулярных выражений
2) МихалНик говорит, что надо забить на автоматы, потому что они только для контекстно-свободных языков, а конечная цель у нас приближение к русскому (который контекстно-зависимый)

Отредактировано Лис (2017-11-08 14:51:26)

0

4

С Уткиным всё ясно, он тайно делает свой язык, не показывая исходники.

Вы устареваете, также как и прошлогодний Лисоплан :).

1) не ясно как всё-таки работать с вычитаниями регулярных выражений
2) МихалНик говорит, что надо забить на автоматы, потому что они только для контекстно-свободных языков, а конечная цель у нас приближение к русскому (который контекстно-зависимый)

Истина где-то рядом :)
https://dic.academic.ru/pictures/wiki/files/77/Mulder1.jpg

Зачем чего-то там в грамматиках вычитать? О-о-о, смешались люди, кони, рука бойца колоть устала... Вам уже много раз предложили варианты исхода и все Ваши метания приведут к выбору того или иного варианта в той или иной форме. Альтернатив нет, Кнут гарантирует это.
Я понимаю, теория, понятийный аппарат, матан. Но нафига что-то вычитать в грамматике?
Вот хитрый план:
1. Вы создаете атомарные правила (типа все числа состоят из цифр, а слова из букв)
2. Вы описываете правила языка рекурсивно миксуете п.1 и п.2
3. Вы создаете наборы правил п.2 для описания конструкций вида ЕСЛИ <условие> ТО <че-то там>
4. При разборе строки Вы применяете Вывод по функции И (ЕСЛИ, <условие>, ТО, <че-то там>)
5. Аллах акбар и конечный автомат в придачу.
Вы дополнительно рекурсивно разбираете математические выражения. Просто отдельным рецептом (так проще жить). Так как Вы любите все компилить - обратная польская запись Вам в руки. Унарный минус рассматриваете как вычитание из нуля либо как частный случай функции.
Рецепт Кумира, Рапиры, Васика и пр. Глаголов и Фокалов а-ля 90-е, вот он. Нафига все эти самокопания? Разница она там в таблицах, многопроходности, деревьях и рекурсиях. Все остальное так или иначе строится по такому плану.
ЗЫ. Когда уже магазинная память будет называться стеком? Или у нас дискотека кому за 60? Те же яйца, только в профиль.

Отредактировано utkin (2017-11-08 15:18:10)

0

5

utkin написал(а):

Вот хитрый план:


Да что Вы, Уткин, понимаете в хитрых планах? Вот мой:
1) пишем генератор с поддержкой вычитания
2) пишем в конкурсную документацию соответствие стандарту ISO EBNF
3) выигрываем конкурс, потому что больше таким никто не заморачивался

0

6

3) выигрываем конкурс, потому что больше таким никто не заморачивался

И?

0

7

utkin написал(а):

И?

вопрос непонятен, пожалуйста, задайте его в развёрнутом виде.

0

8

Конечная цель плана опять не ясна. Просто процесс ради процесса? Я Вам дал рецепт транслятора, так как думал, что Вы хотите получить собственный инструмент, такой каким Вы его видите. А для чего Ваш план? Кому нужна победа в конкурсе и зачем там побеждать?

0