Парсер SQL в C

Я хочу проанализировать и сохранить столбцы и значения оператора SQL DML (INSERT, UPDATE, DELETE) на языке C. Требуется URL-адрес открытого исходного кода или библиотеки, с которой я могу связать свою программу на C. Платформа SUSE Linux. Попробовал сделать и использовать libSQL безуспешно. Подробный ответ приветствуется. Благодарю.

Additional Notes: Пожалуйста, предложите библиотеку / код, который я могу связать с моей C-программой. В моей программе я хочу использовать функции этой библиотеки для анализа и использования токенов для дальнейшей обработки.

Ответы на вопрос(8)

ANTLR Можноцель Cсреди других языков, и егокаталог готовых грамматик имеет множество диалектов SQL - особенно MySQL и Oracle.

acc? (хакер - хардкорный подход)

Не тривиально .. ноэтот сайт может помочь вам начать

о в свободном программном обеспечении. Например, парсерPostgreSQL находится в каталогеsrc/backend/parser из дистрибутива и написан на C и Yacc.

SQLite ? Конечно, у него есть код для анализа SQL, так что, возможно, вы могли бы избежать его переопределения ..

µSQL for C++

µSQL is a SQL parser engine for C++ to develop SQL based applications easily, and it supports other SQL like domain specific languages such as UnQL and GQL too. Because µSQL is written only in old standard C++ library such as STL with ANTLR, then you can use it with many C++ compilers and platforms.

Репо на Github

.

Ссылки:

SQLite architecture

Lemon parser

Вы также можете посмотреть исходный код для postgresql-plpython3. Похоже, у него есть чистый синтаксический анализатор SQL.

Ссылка на сайт:

postgresql-plpython3 @ github

 17 июн. 2012 г., 14:02
Лимонный парсер! Не знал об этом. Не могу дождаться, чтобы использовать его в моем собственном проекте.

Вот Java-версия библиотеки SQL может делать то, что вам нужно, она может быть использована дляТаблица получения и рефакторинга & amp; имя столбца из сложного запроса SQL легко.

Ваш ответ на вопрос