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

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages