Анализатор языка в Silverilght - PullRequest
2 голосов
/ 08 января 2010

Мне нужно написать парсер для определенного языка (подмножество SQL). Как я знаю, самый простой способ сделать это - определить грамматику в BNF и использовать инструмент, похожий на yacc (у ​​меня есть положительный опыт работы с GPPG ). Но когда я начал, я понял, что эти инструменты создают парсер с зависимостью от некоторых сборок базового парсера (например, ShiftReduceParser.dll для GPPG). Мне нужно реализовать синтаксический анализатор для Silverilght, поэтому я не могу использовать библиотеки, предназначенные для полного фреймворка.

Существуют ли какие-либо инструменты генератора синтаксических анализаторов, которые можно использовать в / для Silverilght?

Ответы [ 4 ]

3 голосов
/ 08 января 2010

Я не знаю, какие библиотеки фреймворков вам разрешено использовать в Silverlight, но Coco / R кажется довольно легковесным, просто требуется некоторая обработка потоков / текста из System.IO и System.Text.

0 голосов
/ 29 октября 2011

Вы можете использовать библиотеку Jigsaw , которая реализована в C # 4.0. На CodeProject.com .

есть подробная статья, объясняющая , как создать парсер с его использованием.
0 голосов
/ 08 января 2010

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

0 голосов
/ 08 января 2010

Вам нужен парсер для запуска внутри Silverlight? Разве вы не можете вместо этого заставить Сервер обрабатывать эту функцию через WCF или другой транспорт? Таким образом, вы можете использовать код, с которым у вас есть опыт работы, для анализа.

...