Skip to content

whosly/calcite-jj

Repository files navigation

calcite jj 介绍

此仓库已与 claude-stars 合并。 最新示例见 --> claude-stars

calcite parser代码生成逻辑

code-generate-process

模块介绍

  • load-parser-jj
    • 获取 Calcite 源码中的 Parser.jj 文件
  • parser-jj-generator
    • 根据 parser-jj 模板文件生成 parser-jj 代码文件
  • parser-generator
    • 根据 parser-jj 代码文件文件生成 Parser Java代码
  • auto-generator
    • 根据 parser-jj 模板文件生成 Parser Java代码(不需要对Parser.jj进行定制化修改)。
  • new-grammar
    • 新增自定义语法的例子工程
      • CREATE MATERIALIZED VIEW [ IF NOT EXISTS ] view_name AS query
      • JACKY JOB 'query'
  • calcite-schema
    • 多种数据源加载的示例
    • 自定义语法 submit job as query 的示例
  • avacita
    • 基于 avacita 实现各种数据库jdbc查询的例子

模块

load-parser-jj

使用 Maven 插件 maven-dependency-plugin 直接从 Calcite 源码包中进行拷贝。

README.md

parser-jj-generator

根据 parser-jj 模板生成 parser-jj。

README.md

parser-generator

将 parser-jj-generator 模块中生成的 Parser.jj 代码文件生成 Parser Java代码 (路径 target\generated-sources\fmpp\javacc) copy至此项目中。

README.md

auto-generator

如果不需要对Parser.jj进行定制化修改,那么可以通过连续运行两个插件, 根据 parser-jj 模板生成 Parser Java代码。

README.md

new-grammar

使用 FreeMarker 模版插件根据 config.fmpp 生成 parser.jj 文件,最后使用 JavaCC 编译插件生成最终的解析器代码。

README.md

calcite-schema

多种数据源加载的示例。

README.md

avacita

基于 avacita 实现各种数据库jdbc查询的例子

README.md

编译

mvn clean initialize

mvn package

mvn clean install

About

calcite jj

Resources

License

Stars

0 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages