Библиотека парсера SQL для Java [закрыто]

Вы можете использовать reduce() для сопоставления с объектом и Object.values() для получения результирующего массива

var data = [
  ['dupeValue', { data: 123 }],
  ['dupeValue', { data: 123 }],
  ['otherValue', { data: 1111111 }],
  ['dupeValue', { data: 123 }]
]

var result = Object.values(data.reduce((a, c) => (a[c[0]] = c, a), {}))
 

console.log(result)

136
задан John Hascall 5 February 2016 в 19:17
поделиться

5 ответов

Что Вы хотите сделать с проанализированным SQL? Я могу рекомендовать некоторым реализацию Java Lex/Yacc (BYACC/J, Кубок Java), что можно использовать существующую грамматику SQL с.

Если Вы хотите на самом деле сделать что-то с получающейся проанализированной грамматикой, я мог бы предложить смотреть на Derby, база данных SQL с открытым исходным кодом, записанная в Java.

2
ответ дан 23 November 2019 в 23:41
поделиться

ANTLR3 имеет грамматику ANSI SQL в наличии. Можно использовать это для создания собственного синтаксического анализатора.

ANTLR4 имеет грамматику SQL.

51
ответ дан 23 November 2019 в 23:41
поделиться

Синтаксический анализатор

При необходимости в синтаксическом анализаторе должен быть синтаксический анализатор в кодовой базе Derby Apache.

Контакт с определенным для поставщика SQL

Можно хотеть посмотреть на .native () метод на объекте соединения JDBC, который можно передать его поставщик нейтральные запросы, которые будут постобработаны в поставщика определенные запросы.

9
ответ дан 23 November 2019 в 23:41
поделиться
  • JSqlParser
  • Presto's parser is written using ANTLR4 and has its own immutable AST classes that are built from the parser. The AST has a visitor and pretty printer.
33
ответ дан 23 November 2019 в 23:41
поделиться

Попробуйте Zql

5
ответ дан 23 November 2019 в 23:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: