Здравствуйте, _Claus_, Вы писали:
_C_>Возражу: тот вариант, который вижу в описании синтаксиса N2 и в примерах N-парсер с большой натяжкой можно назвать простым. _C_>Когда очевидно связанная логика (syntax и его обработчик) разделена и разнесена, а код парсера имеет грязный вид ввиду постоянных повторов одинаковых тегов, преимущество с чем либо, по крайней мере на глаз, вообще не очевидно.
Какой повтор? Повтор чего? Каких еще "одинаковых тегов"?
И с чем ты сравниваешь?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[19]: есть возможность выступить перед американскими ИТинв
Здравствуйте, _Claus_, Вы писали:
_C_>за pyparsing молчишь? _C_>в приведенном фрагменте сложность сравнимая. пусть даже N выигрывает. но это явно описание со старого парсера. примеры в Boo.Meta.Extension нового должны быть.
Где? Чего? Ничего не понял. Давай конкретные ссылки.
_C_>короче, если отстают, то догонят при желании.
Не догонят. У них алгоритмы не той системы.
_C_>и вот это должно развернуться в ясные классы парсера , которые могут заменяться, расширяться.
Я ничего не понял.
Семантика того что ты написал совершенно не ясна.
Что это?
s expr s
А это?
prefixDec : 200 = "--"s expr
prefixAst(args)
Почему у тих веток
'('expr ')'
'{'expr* '}'
Нет имени?
Что это могло бы означать? Не ясно.
class prefixDec: ParseType
Parse(arg: AstNode)
postfixAst(arg)
_C_>которое я могу переопределить/заменить в готовом парсере. а создавать парсеры и обслуживающую логику, как вы сейчас пишите, такого добра хватает. _C_>+- мелочи. а уж через пять лет это точно будет слабовато.
С таким умением формулировать мысли ты никогда ничего не донесешь.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[21]: есть возможность выступить перед американскими ИТинв
Здравствуйте, VladD2, Вы писали:
VD>А зачем встраивать IDE?
Странный вопрос.
Чтобы прямо в своем приложении писать скрипты на своем языке.
С интелесенсом и прочими радостями.
VD>И вообще, как ты это себе видишь?
Вставляем компонент типа твоего Rsdn.Editor'а только понавороченнее и все.
VD>Обычно IDE открывается рядом с основным приложением (как в МС Офис).
Это не вариант для чуть менее чем всех приложений, которым нужны скрипты.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[23]: есть возможность выступить перед американскими ИТинв
Здравствуйте, WolfHound, Вы писали:
WH>Здравствуйте, _Claus_, Вы писали:
_C_>>за pyparsing молчишь? _C_>>в приведенном фрагменте сложность сравнимая. пусть даже N выигрывает. но это явно описание со старого парсера. примеры в Boo.Meta.Extension нового должны быть. WH>Где? Чего? Ничего не понял. Давай конкретные ссылки.
не нервничай. все хорошо. https://github.com/bamboo/boo-extensions/blob/master/src/Boo.OMeta.Parser/BooParser.boo
_C_>>короче, если отстают, то догонят при желании. WH>Не догонят. У них алгоритмы не той системы.
OMeta. нормальная система.
_C_>>которое я могу переопределить/заменить в готовом парсере. а создавать парсеры и обслуживающую логику, как вы сейчас пишите, такого добра хватает. _C_>>+- мелочи. а уж через пять лет это точно будет слабовато. WH>С таким умением формулировать мысли ты никогда ничего не донесешь.
Я предполагаю что ты отслеживаешь контекст беседы. поэтому не повторяю все снова.
вот это я написал как то, как должно выглядеть описание без словоблудия, еще и с кодом обработки. как пример краткости.
он равен твоему только меньше, понятней и функциональнее. если не нравится, думай дальше, но это не должно быть длиннее чем необходимо.
я критикую для пользы. чтобы сам когда-нибудь смог-захотел этим пользоваться.
Re[24]: есть возможность выступить перед американскими ИТинв
Здравствуйте, _Claus_, Вы писали:
_C_>https://github.com/bamboo/boo-extensions/blob/master/src/Boo.OMeta.Parser/BooParser.boo
И в каком месте это проще?
_C_>OMeta. нормальная система.
Ну-ну.
_C_>Я предполагаю что ты отслеживаешь контекст беседы. поэтому не повторяю все снова. _C_>вот это я написал как то, как должно выглядеть описание без словоблудия, еще и с кодом обработки. как пример краткости.
Ты написал кучу кода, которая не понятно что делает.
Семантика того что ты написал совершенно не ясна.
К чему все эти буквы?
_C_>он равен твоему только меньше, понятней и функциональнее. если не нравится, думай дальше, но это не должно быть длиннее чем необходимо. _C_>я критикую для пользы. чтобы сам когда-нибудь смог-захотел этим пользоваться.
Учитывая, что ты даже не можешь сформулировать свои мысли то твоя критика уйдет в пустоту.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн
Re[25]: есть возможность выступить перед американскими ИТинв
для меня — примерно паритет. и пытался сказать, что ничего военного в N2 парсере нет.
описание стоит укоротить. не все тащатся от написания 4X кода.
WH>Семантика того что ты написал совершенно не ясна.
Не верю.
WH>Учитывая, что ты даже не можешь сформулировать свои мысли то твоя критика уйдет в пустоту.
Попытаться стоило. а вдруг.
Re[18]: есть возможность выступить перед американскими ИТинв
Здравствуйте, _Claus_, Вы писали:
_C_>Возражу: тот вариант, который вижу в описании синтаксиса N2 и в примерах N-парсер с большой натяжкой можно назвать простым. _C_>Когда очевидно связанная логика (syntax и его обработчик) разделена и разнесена, а код парсера имеет грязный вид ввиду постоянных повторов одинаковых тегов, преимущество с чем либо, по крайней мере на глаз, вообще не очевидно.
на самом деле дсл грамматики это "регэксп на стероидах"
отличия:
0) статический анализ этого "регекспа"
1) модульность (разбиваем его на подправила) и можем их включать
2) рекурсивно!!
3) естественно обработка сматчившихся подстрок
дополнения, которые немного утяжеляют вид:
.возвращает готовое аст, а не набор каких-то токенов
.ДИНАМИЧЕСКОЕ РАСШИРЕНИЕ
.куча наворотов типа поддержки локаций, обработки ошибок
.ПРОИЗВОДИТЕЛЬНОСТЬ
так что если не использовать динамическое расширение то всё не так сложно. не сложнее крутого регэксп
Re[8]: есть возможность выступить перед американскими ИТинве
Здравствуйте, RiNSpy, Вы писали:
RNS>Да нет, какие гонения. Пусть занимаются тем, что нравится, это их дело, и никто не вправе вмешиваться. Просто я думаю что не стоит питать иллюзий, что это может быть чем-то, кроме хобби, и что основной аудиторией являются они сами.
линукс тоже был хобби))
да простят меня за сравнение) хотя кто знает
Re[19]: есть возможность выступить перед американскими ИТинв
P>>так что если не использовать динамическое расширение то всё не так сложно. не сложнее крутого регэксп
_C_>я это понимаю, а то, за что агитирую, это действительно непонятно что? или смысл есть? по парсеру
в среде метапрограммирования ни что не мешает делать не 1 дсл а группу дсл
причём если делать строго в отношениях часть-целое то зоопарка дсл не будет, а будет постепенное усложнение (для решения разных задач)
тебе же ведь скорее всего не надо будет делать новый расширяемый парсер — или расширение к существующему (синтаксический макрос или внутренний дсл)
или внешний нерасширяемый дсл — для них можно сделать свои языки описания парсеров, которые будут гораздо проще, но будут частью большого языка парсеров.
говоря о "простоте" я опираюсь на существующий парсер с# — там лаконичнее за счёт функциональности
что касается конкретно синтаксиса — это дело как я понимаю на 100% ещё не утверждено, хотя изменить генеральную мысль уже сложновато,
а говорить об удобстве будет тот, кто перепишет парсер Nemerle))
Re[21]: есть возможность выступить перед американскими ИТинв
P>в среде метапрограммирования ни что не мешает делать не 1 дсл а группу дсл P>причём если делать строго в отношениях часть-целое то зоопарка дсл не будет, а будет постепенное усложнение (для решения разных задач)
я не вижу, что здесь возможно гибкая композиция. Жесткая да. И трудоемкая.
P>тебе же ведь скорее всего не надо будет делать новый расширяемый парсер — или расширение к существующему (синтаксический макрос или внутренний дсл)
вот именно только расширяемые и делаю. и хочется чтобы и N был расширяемый и компонентный. чтобы я его расширял в нужные мне стороны.
и порожденные им парсеры были такие же. и чтобы делал я это одним пальцем, как показывал здесь.
P>что касается конкретно синтаксиса — это дело как я понимаю на 100% ещё не утверждено, хотя изменить генеральную мысль уже сложновато,
кардинально изменить не сможет, но и задуматься заставим — уже неплохо.
Re[22]: есть возможность выступить перед американскими ИТинв
Здравствуйте, WolfHound, Вы писали:
WH>Чтобы прямо в своем приложении писать скрипты на своем языке. WH>С интелесенсом и прочими радостями.
С тем же успехом можно нажать кнопку и открыть полноценную IDE.
VD>>И вообще, как ты это себе видишь? WH>Вставляем компонент типа твоего Rsdn.Editor'а только понавороченнее и все.
Проблема в том, что компонент такого же качества не так то просто найти. А функциональность будет все равно не полная, так как у современных IDE есть масса возможностей.
VD>>Обычно IDE открывается рядом с основным приложением (как в МС Офис). WH>Это не вариант для чуть менее чем всех приложений, которым нужны скрипты.
Чуть менее чем все приложения где есть скрипты именно так и поступают. Вот где ты видел обратное?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[20]: есть возможность выступить перед американскими ИТинв
Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, _Claus_, Вы писали:
VD>>>И с чем ты сравниваешь?
_C_>>см. рядом нашу беседу с WH
VD>Тут очень много бесед. Ты лучше ссылки давай. А то у меня инет скоро отнимут.
Здравствуйте, _Claus_, Вы писали:
_C_>>>Возражу: тот вариант, который вижу в описании синтаксиса N2 и в примерах N-парсер с большой натяжкой можно назвать простым. WH>>Покажи у кого проще.
_C_>python pyparsing, boo parser, .. которых не знаю
Это именно потому что ты их не знаешь. Если ты разберешся как следует, то поймешь, что у нас самый простой вариант. То что есть сейчас имеет не окончательный синтаксис (более веротынй стинтаксис описан в драйте по Н2). Но разница там будет чисто синтаксическая.
В прочем, предлагай свои варианты. Выберем лучший. Только предлагай на базе конкретных примеров. Воспроизведи то же калькулятор и сравним.
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[24]: есть возможность выступить перед американскими ИТинв
Здравствуйте, _Claus_, Вы писали:
_C_>вот это я написал как то, как должно выглядеть описание без словоблудия, еще и с кодом обработки. как пример краткости. _C_>он равен твоему только меньше, понятней и функциональнее. если не нравится, думай дальше, но это не должно быть длиннее чем необходимо. _C_>я критикую для пользы. чтобы сам когда-нибудь смог-захотел этим пользоваться.
Знаешь анекдот про то как мужик предлагал супер-идею в которой предлагал чтобы самолеты подлетали к нашей границе и падали?
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Re[25]: есть возможность выступить перед американскими ИТинв
Имею представление. Использовал. Для моих задач что это, что N2 не подходят. Но в моих глазах — они все — ягоды с одного поля.
VD>В прочем, предлагай свои варианты. Выберем лучший. Только предлагай на базе конкретных примеров. Воспроизведи то же калькулятор и сравним.
Мой главный вариант — компонентная, кастомизируемая парсер-библиотека. как ей управлять — писал и здесь и в доке. Если есть интерес к этому,
будем дальше обсуждать.
Re[26]: есть возможность выступить перед американскими ИТинв
Здравствуйте, _Claus_, Вы писали:
_C_>Мне сложно понять, что именно в сказанном-описанном мной не ясно. Цитата, фрагмент кода, и все вообще?
Все. Тебя вообще очень сложно понять. Ибо ты очень странно выражаешь свои мысли.
_C_>мне хочется быть понятым.
Не получается. Совсем.
... << RSDN@Home 1.2.0 alpha 4 rev. 1472>>
Пусть это будет просто:
просто, как только можно,
но не проще.
(C) А. Эйнштейн