LINUX.ORG.RU

[?]библиотеки для написания dsl на python


0

4

Здравствуйте, какие посоветуете библиотеки для написания dsl на python?
Просмотрев список на http://nedbatchelder.com/text/python-parsers.html выбрал 4х кандидатов:
funcparserlib (http://spb-archlinux.ru/2009/funcparserlib/Tutorial)
pyparsing (http://pyparsing.wikispaces.com/Examples)
lepl (http://www.acooke.org/lepl/)
и pyPEG (http://fdik.org/pyPEG/#sample)

Поделитесь опытом нахождения подводных камней - что лучше выбрать? Сам склоняюсь к pyPEG, как к более знакомому подходу

★★
Ответ на: комментарий от Vadim_Z

Сейчас КЛ находится в выигрышном относительно хаскеля положении: больше сообщество, больше библиотек, лучшие компиляторы, etc. Хотя в будущем всё может измениться, теоретически мл-языки должны быть чертовски хороши для расчётных задач.

ugoday ★★★★★
()
Ответ на: комментарий от Vadim_Z

Так и сделаю, haskell пока исключаю однозначно, дел слишком много, чтобы еще и с ним разбираться, тем более на сколько я понял он более сложный и менее быстрый чем Ocaml.

gameover__
()
Ответ на: комментарий от gameover__

Насчет «менее быстрый» не уверен, и с тредами ghc дружит лучше окамля (у которого garbage collector однотредовый), кроме того, есть ffi (т.е. вызовы быстрее делаются и пишутся). Зато окамл действительно намного проще.

Vadim_Z
()
Ответ на: комментарий от Vadim_Z

Чтобы писать на хаскеле нужно думать в терминах монад и категорий. И тянуть на раз не меньше 150кг.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

> Я ТБ пол года в институте учил.

ROTFL. И написал аж целых две лабы, да? %)

А Питон ты тоже учил полгода в институте? :D

tailgunner ★★★★★
()
Ответ на: комментарий от ugoday

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

gameover__
()
Ответ на: комментарий от elipse

>> А Питон ты тоже учил полгода в институте? :D

А это еще заслуживает изучения ? ))

Попробуй выучить. Если сможешь, это сделает тебя не таким унылым троллем.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

ROTFL. И написал аж целых две лабы, да? %)

Больше. Штук восемь.

А Питон ты тоже учил полгода в институте? :D

Слушай, ну это же смешно. Питон --- скриптовый язычок с динамической типизацией и дурацким инфиксным синтаксисом, ставящим на метопрограммировании жирый U+2626 . В сущности тот же лисп, из которого выдрали всё самое вкусное. И, если есть минимальная база, учить тут совершенно нечего.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

>> ROTFL. И написал аж целых две лабы, да? %)

Больше. Штук восемь.

Все в машину, специалисты по бейсику ITT.

И, если ты не понял, написание аж 8 лаб в течение полугода не называется «писал на $LANGUAGE».

А Питон ты тоже учил полгода в институте? :D

Слушай, ну это же смешно. [...] если есть минимальная база, учить тут совершенно нечего.

Понятно, то есть даже лаб не писал. Собственно, это было очевидно.

tailgunner ★★★★★
()
Ответ на: комментарий от ugoday

> дурацким инфиксным синтаксисом

что-то я не улавливаю связи инфиксного синтаксиса с возможностью метапрограммирования.

annoynimous ★★★★★
()
Ответ на: комментарий от elipse

>> Попробуй выучить.

За тобой глаз да глаз нужен ))

Можешь найти более интересное занятие, чем подсматривать за мной.

«выучить» можно стишок , а изучить хаос - низзя.

Теория хаоса смотрит на тебя с укоризной.

tailgunner ★★★★★
()
Ответ на: комментарий от annoynimous

всё банально, инфиксные выражения сложнее генерировать. Да и о единствен кода и данных приходится забыть.

ugoday ★★★★★
()
Ответ на: комментарий от tailgunner

> Можешь найти более интересное занятие, чем подсматривать за мной.

не, тебя подколупнуть взбадривает манехо.
вот уже можно и делом нормальным заниматься))

elipse ★★★
()
Ответ на: комментарий от tailgunner

написание аж 8 лаб в течение полугода не называется «писал на $LANGUAGE».

Если язык примитивен и прост, то называется. Объясни мне, чему там учить-то больше времени в этом бэйсике?

То же верно и для питона.

ugoday ★★★★★
()
Ответ на: комментарий от tailgunner

Теория хаоса смотрит на тебя с укоризной.

Бог-Император с отвращением смотрит на мерзких порождений хаоса.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

> Объясни мне, чему там учить-то больше времени в этом бэйсике?

Ну так в лиспе синтаксиса и того меньше — чего его-то учить?

annoynimous ★★★★★
()
Ответ на: комментарий от annoynimous

Страшное скажу: если лисп (не КЛ) использовать в том же стиле, что и бэйсик, то он учится даже быстрее его.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

> Объясни мне, чему там учить-то больше времени в этом бэйсике?

Не «учить», студент. Применять на практике. Чтобы понять разницу между простотой Питона и примитивностью Бейсика.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Не «учить», студент. Применять на практике

Тогда это уже называется не «изучение Турбо Бэйсика», а, например, «применение метода Ньютона для нахождения корней уровнения». Совсем другой коленкор.

между простотой Питона и примитивностью Бейсика.

Фанаты ЦСКА и Зенита тоже думают, что между ними есть колосальная, принципиальная разница.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

>> Не «учить», студент. Применять на практике

Тогда это уже называется не «изучение Турбо Бэйсика»

Ну про «изучение» почему-то заговорил ты. Наверное, потому, что в работе ты Бейсик не применял (как и Питон).

между простотой Питона и примитивностью Бейсика.

Фанаты ЦСКА и Зенита

Старайся говорить о том, в чем разбираешься.

tailgunner ★★★★★
()
Ответ на: комментарий от ugoday

>Фанаты ЦСКА и Зенита тоже думают, что между ними есть колосальная, принципиальная разница.
Это ложное утверждение.

gameover__
()
Ответ на: комментарий от tailgunner

Ну про «изучение» почему-то заговорил ты

Нет, ты: [?]библиотеки для написания dsl на python (комментарий)

в работе ты Бейсик не применял

О майн-гот!

(как и Питон)

Применял. И даже получал за это (пусть и опосредованно) деньги.

Но все твои аргументы в стиле «сперва добейся», не отменяют простого факта, питон --- простенький и туповатый недоязычок. И учить в нём совершенно нечего, бо все реальные возможности питона можно описать с использованием шаблона

* возможность1 реализована как в КЛ, но с инфиксным синтаксисом;

* возможность2 реализована как в КЛ, но с такими-то ограничениями и недостатками;

* возможность3 принципиально нереализуема, это же не КЛ.

ugoday ★★★★★
()
Ответ на: комментарий от gameover__

Фанаты ЦСКА и Зенита тоже думают, что между ними есть колосальная, принципиальная разница.

Это ложное утверждение.

Вот и между питоном с бэйсиком нет принципиальной разницы.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

>> Ну про «изучение» почему-то заговорил ты

Нет, ты: http://www.linux.org.ru/jump-message.jsp?msgid=5587834&cid=5590464

Это был ответ другому человеку на вопрос «заслуживает ли изучения?». Так что ты снова промахнулся.

в работе ты Бейсик не применял

О майн-гот!

Гот или не гот, а сравнивать тебе нечего.

твои аргументы в стиле «сперва добейся

Мои аргументы в стиле „сперва попробуй“.

И учить в нём совершенно нечего, бо все реальные возможности питона можно описать с использованием шаблона

* как в КЛ,

* как в КЛ,

* не КЛ,

Это ты Норвигу расскажешь, а у нас с тобой был разговор о соотношении Питона и Бейсика.

И кстати, давно ли ты начал учить КЛ...

tailgunner ★★★★★
()
Ответ на: комментарий от ugoday

>>Фанаты ЦСКА и Зенита тоже думают, что между ними есть колосальная, принципиальная разница.

Это ложное утверждение.

Да ты еще и по футболу специалист...

Вот и между питоном с бэйсиком нет принципиальной разницы.

Принципиальной разницы нет между любыми Тьюринг-полными языками :D

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Это был ответ другому человеку на вопрос «заслуживает ли изучения?».

Что-то я не припомню, чтобы он тебя об этом спрашивал.

И давай ты просто расскажешь, какие бонусы получит человек, отказавшийся от КЛ в пользу бэйсика^W питона.

ugoday ★★★★★
()
Ответ на: комментарий от ugoday

>> Это был ответ другому человеку на вопрос «заслуживает ли изучения?».

Что-то я не припомню, чтобы он тебя об этом спрашивал.

Напоминаю: http://www.linux.org.ru/jump-message.jsp?msgid=5587834&cid=5590440

Да ты еще и по футболу специалист...

А ещё по диетологии, рукопашке, штанге и ножевому бою.

Ты просто Рэмбо. Даже не знаю, что важнее в текущем разговоре - знание диетологии или ножевого боя.

И давай ты просто расскажешь, какие бонусы получит человек, отказавшийся от КЛ в пользу бэйсика^W питона.

Понятия не имею. CL я не пользовался, и о его бонусах по сравнению с Python не знаю.

tailgunner ★★★★★
()
Ответ на: комментарий от ugoday

> Что-то я не припомню, чтобы он тебя об этом спрашивал.

да, это был риторический мой вопрос ))

И давай ты просто расскажешь, какие бонусы получит человек, отказавшийся от КЛ в пользу бэйсика^W питона.


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

elipse ★★★
()
Ответ на: комментарий от elipse

> А Пистон играет на пороках обучаемых: все есть, думать не надо, скобочки не пишем ... он быстр

Питон тормоз же, это все знают.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

>Питон тормоз же, это все знают.

Это смотря для каких задач, но распухание программ из-за неудачных биндингов, да, подрезает его быстродействие.

И да , вот почему-то не было больных переписать bash на баше, а в питоне таких хоть отбавляй.

elipse ★★★
()
Ответ на: комментарий от elipse

> И да , вот почему-то не было больных переписать bash на баше, а в питоне таких хоть отбавляй.

А переписать Си на Си? А Лисп на Лиспе? Это только Tcl на Tcl не переписывали %)

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Ну self-hosted скриптовые языки это скорее исключение. Что можно еще вспомнить, кроме PyPy и Rubinius (Rakudo не в счет, потому что Perl6 уже как бы не совсем скриптовый)?

Vadim_Z
()
Ответ на: комментарий от tailgunner

ээ, ты сравниваешь уже теплое с мягким.
Скриптовый язык - не должен выпадать из свое жанра и превращяться в забавы клоунов. Всему свое место. А пистон явно обнаглел и претендует на что-то ему не по зубам.
Как-то так.


elipse ★★★
()
Ответ на: комментарий от Vadim_Z

> Ну self-hosted скриптовые языки это скорее исключение.

Да что такое «скриптовый язык»? :) А то и на Хаскеле скрипты пишут.

Rakudo не в счет, потому что Perl6 уже как бы не совсем скриптовый

PyPy тоже мошенничает - там не динамичски типизированный Python, а статически типизированный RPython.

tailgunner ★★★★★
()
Ответ на: комментарий от elipse

> А пистон явно обнаглел и претендует на что-то ему не по зубам.

Если ты не в курсе - у них (PyPy) всё получилось. Результат, правда, пока не для продакшена, но развитие идет.

tailgunner ★★★★★
()
Ответ на: комментарий от elipse

> любую дурочку можно сделать и морочить голову развитием,

Ну, сделай интерпретатор Tcl в 2 раза быстрее, чем стандартный.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

1. А это происходит автоматически при смене CPU

2. Выбирая tcl, выбираю удобство для себя и понимаю, что за все надо платить. А посему, без колебаний использую С расширения для tcl (при надобности).

elipse ★★★
()
Ответ на: комментарий от elipse

>> Ну, сделай интерпретатор Tcl в 2 раза быстрее, чем стандартный.

1. А это происходит автоматически при смене CPU

У тебя какие-то волшебные гри^WCPU.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

как гласит закон Moore:
«производительность компьютерных систем должна каждые два года увеличиваться вдвое»



elipse ★★★
()
Ответ на: комментарий от elipse

> как гласит закон Moore:

«производительность компьютерных систем должна каждые два года увеличиваться вдвое»

Закон Мура гласит не это. И, в любом случае, даже если процессор стал быстрее, интерпретатор Tcl быстрее точно не стал.

tailgunner ★★★★★
()
Ответ на: комментарий от elipse

> «производительность компьютерных систем должна каждые два года увеличиваться вдвое»

Правда, так же растет и число танцоров (и коим мешают постоянно ноги и не хватает быстродействия CPU).

elipse ★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.