Как стать автором
Обновить

Комментарии 15

Кстати, на основе PEG создатели Nemerle сейчас почти создали парсер C#, что позволит в одном проекте использовать и C#, и Nemerle. Это позволит использовать существующие генераторы кода на C#, а так же плавно переводить проект с одного языка на другой.
Не могли бы вы направить меня в сторону примера, где реализовывается что-нибудь похожее для SQL запросов?
Мне просто нужно реализовать pretty-print + syntax highlight для MySQL запросов, для внутренней рабочей утилиты…
К сожалению, примера с SQL нету, но думаю, что его создание не будет сложным. У MySQL очень хорошая документация, которая содержит описание грамматики (например, dev.mysql.com/doc/refman/5.0/en/select.html и dev.mysql.com/doc/refman/5.0/en/join.html), с которой не должно возникнуть сложностей при переводе, она будет практически один в один ложиться на синтаксис макроса.

После того, как дерево будет построенно pretty-print + syntax highlight делается элементарно.

Но я бы не кинулся сразу писать парсер (описывать грамматику), а в начале посмотрел бы на исходники MySQL, может удасться выдрать кусок и использовать его.
Спасибо. Просто в виду неработы NHibernate Profiler под Моно приходится пользоваться MySQL Proxy…
Создать managed парсер было бы здорово, наверняка, он пригодился бы и в monodevelop. Очень соблазнительная идея, а так же его реализация была бы не плохим killer-app'ом для Nemerle. Как жаль, что идей всегда больше времени (

P.S. Мое свободное время съедает uniquation.ru
Мда, к сожалению кто-то убрал все deb пакеты с сайта Nemerle. А возиться и собирать неохота… И так работы много.

P.S. — проект интересный, что-то а-ля Wolfram|Alpha. Я, к сожалению, от матана весьма далёк… :)
H̤̣̹̠͍e҉̯̠͈ ̸̯̞͈̙̻co̠̰͡ͅm̨̥̲̦̼̪̖e͖̻̗͇̘̯̼͝s̴̬̳͖͍
He? It? Кто / Что?
Я по ходу дела промахнулся комментарием… :(
При попытке компиляции исходников — ругается

TexParser.n:16:3:27:4: error: expected `;'
TexParser.n:16:3:27:4: error: parse error near `{...}' group: unexpected token after expression in sequence (you forget a closing bracket?).
Версия последняя? я компилировал на 1.0.0.9212
Сборка LRPEGCC подключена?
Это я протупил, не подключил все необходимые сборки. (Делаю через шелл).
Всё компилируется, так что может по-экспериментирую…
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.