Comments 15
Кстати, на основе PEG создатели Nemerle сейчас почти создали парсер C#, что позволит в одном проекте использовать и C#, и Nemerle. Это позволит использовать существующие генераторы кода на C#, а так же плавно переводить проект с одного языка на другой.
+3
Не могли бы вы направить меня в сторону примера, где реализовывается что-нибудь похожее для SQL запросов?
Мне просто нужно реализовать pretty-print + syntax highlight для MySQL запросов, для внутренней рабочей утилиты…
Мне просто нужно реализовать pretty-print + syntax highlight для MySQL запросов, для внутренней рабочей утилиты…
0
К сожалению, примера с 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, может удасться выдрать кусок и использовать его.
После того, как дерево будет построенно pretty-print + syntax highlight делается элементарно.
Но я бы не кинулся сразу писать парсер (описывать грамматику), а в начале посмотрел бы на исходники MySQL, может удасться выдрать кусок и использовать его.
+1
Спасибо. Просто в виду неработы NHibernate Profiler под Моно приходится пользоваться MySQL Proxy…
+1
Создать managed парсер было бы здорово, наверняка, он пригодился бы и в monodevelop. Очень соблазнительная идея, а так же его реализация была бы не плохим killer-app'ом для Nemerle. Как жаль, что идей всегда больше времени (
P.S. Мое свободное время съедает uniquation.ru
P.S. Мое свободное время съедает uniquation.ru
0
H̤̣̹̠͍e҉̯̠͈ ̸̯̞͈̙̻co̠̰͡ͅm̨̥̲̦̼̪̖e͖̻̗͇̘̯̼͝s̴̬̳͖͍
0
При попытке компиляции исходников — ругается
0
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?).
TexParser.n:16:3:27:4: error: parse error near `{...}' group: unexpected token after expression in sequence (you forget a closing bracket?).
0
Sign up to leave a comment.
Разбор исходного кода языков программирования и языков разметки