Просмотр сообщений

В этом разделе можно просмотреть все сообщения, сделанные этим пользователем.


Сообщения - chucheloid

Страницы: [1] 2 3
1
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 17, 2012, 12:16:26 pm »
Это не веб, это выхлоп компилятора немерли (если не ошибаюсь).
И да, для данных примеров оно выглядит как суровый оверкил.
Смотреть нужно не машинный код. А тот код, из которого это все получается.

(мало того что для такой простой задачи там порядка 2к строк, так еще и пачка либ подключено:
Если почитать этот код, то станет ясно, что это код _всех_ демок и обвязки.
Ну и проект еще только начали писать. Объем генерируемого кода там можно очень жестоко оптимизировать. Просто это пока никто не делал.

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

2
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 17, 2012, 12:09:00 pm »
Я там ещё у странички запросил исходный код и получил 2312 строчечный html вот с такими названиями функций: MVCTest_SamplesViewModel__N_closureOf__N_lambda__8064_8256.

Веб для меня -- тёмный лес...
Ты пытаешься понять язык высокого уровня глядя на машинный код, полученный после оптимизирующего компилятора.
Это очень не правильный подход.

3
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 16, 2012, 02:34:08 pm »
Не знаю. Я с Гуём не очень. Там надо динамически генерить html код? Ну, первое что приходит в голову, наверное я натворил бы композицию объектов, которые умеют сериализовываться в html. Это неплохо бы сработало когда надо генерировать типовой-однообразный html.
Там все намного сложнее, чем кажется. Открой демку Introduction и посмотри на код. Потом поменяй то, что написано в полях ввода. Нажми на кнопку и подумай, может ли этот код так себя вести... ;D

4
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 15, 2012, 02:09:35 pm »
Коль разговор скатывается к DSL (я правда так и не понял при чём тут контекстно зависимые лексемы), расскажу как я (этим летом) сделал некий аналог DSL без написания каких-либо парсеров вовсе.
Это тебе просто с задачей повезло.
А могло и не повезти.
http://user1663.netfx45lab.discountasp.net/
Что бы делал?

5
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 14, 2012, 03:48:51 pm »
Да нет не сказка, просто каждый занимается своим делом..
Именно что сказка. Ну не могут люди с низкой квалификацией сделать что-то большое.
Физически не могут.
Обязательно нужен надсмотрщик, который ходит и бьёт по рукам.
ДСЛ с этим справится гораздо лучше.
1)Банально в разы меньше писать. Те работа будет сделана быстрее и там будет меньше багов.
2)ДСЛ очень эффективно бьёт по рукам. Причем со 100% вероятностью и сразу.

Понятие "маленький" относительно.. вон айфон - тоже маленький да отдельных "частей" в нем немного - но высокотехнологичный продукт однако..
Абсолютно неадекватная аналогия. Я даже не могу понять, как она могла в голову прийти.

6
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 13, 2012, 07:37:36 pm »
Типичный программист не знает полностью своего основного языка программирования даже если это просто java. Не знает как работает скажем jvm, не знат как работает сборщик мусора (а это уже .net'чик), и, в частности, не знает соберет ли сборщик мусора два объекта которые ссылаются друг на друга но извне на них больше ссылок нет. И что под капотом библиотек тоже не знает. Но при этом этот самый типичный разработчик, каким-то образом добивается поставленных перед проектом целей. Это факт подтверждаемый экспериментально.
Как меня утомила эта сказка.
Такое случается только если над ними стоят надсмотрщики, которые создают архитектуру. А такие люди без труда смогут сделать ДСЛ.
Либо проект маленький как хелловорлд. Тогда просто он не успевает загнуться до того как его доделают.

7
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 13, 2012, 04:22:44 pm »
1. да и не только средний.. любой, которому есть чем заняться.
И чем же он занимается?
Ломает голову, как протащить через 100500 методов контекст, который в начале проекта был не нужен, а когда понаписали десятки метров кода понадобился?
Или продирается через тонны костылей, которые протаскивают что-то куда-то?
А может он долбит реализацию INotifyPropertyChanged, которая у всех классов настолько одинаковая, что даже не смешно?
...


2. в явке уже есть дополняющие языки (как доп язык javafx1.0, например , не прошел), впрочем они есть и под .net. По первому впечатлению  НИМЕРЛЕЙ спроектирован  лучше.. Что касается вторых версий (Немерлея и FX) - то разработчики (наверное понимая, что в разработанную нишу одним только сахаром не влезешь ) пытаются найти свое собственное место.. - как результат.. и там и там "FRAMEWORKS"
Я совершенно не понял что общего у JavaFX и Н2?

8
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 13, 2012, 04:11:29 pm »
Другое дело, что практика показывает, чта-а средний программист не умеет думать еще и о конструировании DSL, даже eDSL не умеет. У него голова занята совсем другим - предметной областью.
Нет. Она у него занята головоломкой, на тему как впихнуть предметную область в узкие рамки языка программирования так, чтобы код не скатился в говно.
А если не занята, то проект проваливается с вероятностью близкой к 100%.

Просто люди настолько привыкли к данной совершенно бесполезной активности, что не замечают её.
С ДСЛ все намного проще. Написал логику как она есть. И скомпилировал.
Сделать компилятор намного проще, чем архитектуру архитектурить, ибо компилятор может генерировать любой говнокод и ни каких проблем это не создает.

Кстати немерле тоже умеет компилироваться в яваскрипт. http://user1663.netfx45lab.discountasp.net/
Можете сравнить данный способ создания веб интерфейсов с любым другим...

9
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 12, 2012, 07:48:03 pm »
Если работать напрямую с буквами простым способом, то две вышеприведённые строки для парсера окажутся одинаковыми. А если с буквами работать сложным способом, чтобы он различал варианты, то код станет страшным. Правда, здесь стоит учитывать, что весь код парсера должен был по-старинке находиться в одном файле (точнее, в одной компилируемой единице, если принимать во внимание includ-ы).
Это даже не секта дракона. Это что-то неизмеримо более страшное.
Неадекват полнейший.

10
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 12, 2012, 06:22:53 pm »
1. поток байт (например, из файла) преобразовать в поток букв (грубо говоря).
2. поток букв преобразовать в поток лексем. (лексический анализатор)
3. поток лексем преобразовать в дерево разбора. (синтаксический анализатор)
Так бы сразу и сказал что из секты дракона.
То, что было до букв к синтаксическому анализу вообще не относится.
А для безлексерных парсеров лексемами являются отдельные буквы.

Лексеры вообще говоря нужны только из-за того что быстрые БНФ'ные анализаторы физически не способны разрешать конфликты которые разрешает лексер.
А те, которые способны тормозят, как чёрт знает что.

11
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 12, 2012, 02:28:52 pm »
Зачем так оверквотить?
По-моему, вы там у себя просто реализовали аналог BNF-а,
Если оно, похоже, выглядит, то это еще ничего не значит.
Семантика там совершенно другая.

что позволило более точно управлять областью значения.
Чего?

А грамматика как была порождающей, так и осталась.
Извини, но мне виднее какая у меня грамматика.

12
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 12, 2012, 02:24:29 pm »
По-моему, Вы под лексером что-то слишком частное. Может, просто в вашей команде переосмыслили трансляцию и придумали лексер нового поколения?
По PEG есть много документации в сети.
Покажи мне там лексер.

13
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 12, 2012, 02:21:37 pm »
Тогда меня только один вопрос интересует. Оно живет вне немерли? И если живет, то где сие чудо можно лицезреть?
Пока нет. Но будет.

ps Ну не шарю я в немерлях, и не расшарюсь в ближайшее время.
Там шарить нечего.

14
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 12, 2012, 11:59:12 am »
http://www.k-press.ru/cs/2010/2/Editorial/Editorial.asp
1)На чистом ПЕГ писать грамматики довольно сложно.
2)Пакрат жуткий тормоз.

15
Общий раздел / Re: Про парсер и лексер.
« : Сентябрь 12, 2012, 11:20:52 am »
Ещё хотелось бы понять какая вообще задача решается?
Тотальное уничтожение "синтаксического оверхеда (С)".

Страницы: [1] 2 3