Чтобы добавлять сообщения и комментарии, .

@Macil:
Macil

Парсер бизона. Может кому-то понадобится github.com

@Macil:
Macil

Вообще-то это статический анализатор C++, но в его составе идёт весьма любопытный GLR парсер elkhound.

@shaggie:
shaggie

Думал, только в х-ле любят придумывать дико выглядящие операторы. Ан нет! скальщики тоже горазды!
jsonStr ~ (":" ~> jsonVal) ^^ { case x ~ y => (x, y) }
Самое любопытное, что после нескольких минут изучения читать эту галиматью становится легко и удобно.

@nib952051:
nib952051

редирект с какой-нибудь внутренней ссылки на внешний(желательно жирный) сайт epic win, считаю:)

@lovesan:
lovesan

всю ночь дописывал кодогенератор для packrat-парсеров, для программы для стартапа.

В принципе, дописал, но надо бы еще добавить вот это:
vpri.org
если дойдут руки, будет вообще дико круто, потому что такой packrat-парсер будет покрывать практически все полезные на практике грамматики.

Весь кодогенератор — 300 строк.(для ср. — в том же Rats! кодогенератор это примерно 4000 строк жабокода, что есьм просто ад и кровавый понос)

также, уже написан упрощатель грамматики(трансформации продукций выбора с приоритетом и последовательностей и пр.), и некоторые оптимизаторы.
над оптимизаторами надо еще подумать, наверное. сейчас есть оптимизации по чанкам, как в rats! и виртуальный инлайнинг продукций(реальный нахрен не нужен потому что код собирается в labels, и лисповый компилятор и так отлично инлайнит то что можно).

вообще, получилось довольно клево, и работает довольно быстро(в SBCL). компилируется не так быстро, правда, как хотелось бы.

над чем надо думать еще, кроме вышеописанного, так это над некоторым DSL, встроенным в грамматики. Я так думаю, что-нибудь чисто функциональное туда запилить, может лисп, может что попроще, может даже с выводом типов. Это будет полезно потому что генератор парсеров поддерживает семантические предикаты и семантические действия, ну и, естественно, потому, что, визуализатору по идее нужно поставлять AST, а не дерево разбора, а его надо как-то строить.

@Transmitter:
Transmitter

пришло время писать XML RSS парсер! их дохуя, но они на пхп. но мне в принципе пофиг на чём, т.к. мне только общий принцип и чтобы с любыми фидами работало, всё равно в консоль выводить буду. вот, кстати, думаю как сделать: поковырять формат man файлов и так же делать рсски или таки делать хтмл страничку и через lynx читать? может ещё как то? суть одна- выводить в консоль, читать через консоль. фиды curl`ом хаваю. тут вроде совсем просто.

@hizel:
hizel

antlrworks — это просто сказка какая-то ^_^ ,и да, этих обкуренных пых-пыхеров придумавших bbcode на кол! :-(

@hizel:
hizel

что-то получается не очень, на сгенерированный jflex/java_cup выхлоп и конпелятор выплевывает пару ворнингов и idea ругаецо и отлаживается тугооо :-( опять открыл мануал по parboiled

@hizel:
hizel

испытываю сложные чувства к тэгу list из bbcode :-(

@hizel:
hizel

однако, запуск моего Main метода в консольке сгенерированное idea:
$ wc testparser.sh
2 11 8371 testparser.sh
8КБайт! :-(

@freefd:
freefd

Внезапно через почти что год допилил один ништяк в парсере :)

@Crazy-Owl:
Crazy-Owl

gist.github.com обновил йоба-парсер.

@LazyMiha:
LazyMiha

Yacc is dead
Matthew Might, David Darais
(Submitted on 24 Oct 2010)
We present two novel approaches to parsing context-free languages. The first approach is based on an extension of Brzozowski's derivative from regular expressions to context-free grammars. The second approach is based on a generalization of the derivative to parser combinators. The payoff of these techniques is a small (less than 250 lines of code), easy-to-implement parsing library capable of parsing arbitrary context-free grammars into lazy parse forests. Implementations for both Scala and Haskell are provided. Preliminary experiments with S-Expressions parsed millions of tokens per second, which suggests this technique is efficient enough for use in practice.

@freefd:
freefd

открыл файл модели парсера джуйка для пофиксить пару вещей. боже мой! я уже не помню в этих регулярках в каком месте какая за что отвечает!
и даже комментарии не помогают. надо было писать регулярки с х модификатором и в несколько строк :(

и вы тоже не забывайте docstore.mik.ua