SQL抽象语法树及改写场景应用 算法

SQL抽象语法树及改写场景应用

1 背景 我们平时会写各种各样或简单或复杂的sql语句,提交后就会得到我们想要的结果集。比如sql语句,”select * from t_user where user_id > 10;”,意在从表t_user中筛选出user_id大于10的所有记录。你有没有想过从一条sql到一个结果集,这中间经历了多少坎坷呢? 2 SQL引擎 从MySQL、Oracle、TiDB、CK,到Hiv...
阅读全文
算术表达式语言 ANTLR教程

算术表达式语言

了解ANTLR最好的方法就是实例。构建一个简单的计算器是个不错的主意。为了使它容易理解且保持简单,我们将只允许基本的算术运算符(加、减、乘、除)、括号表达式、整数和变量。 grammar Calc; prog : stat+ ; stat : expr | ID '=' expr ; expr : expr ('*'|...
阅读全文
antlr4操作入门(java版本) 算法

antlr4操作入门(java版本)

背景 最近在学习github上的一个mlsql项目的时候,发现了antlr这一强大的语言解析工具。上网搜罗了很多资料,基本都是概念原理之类,示例也比较单一,看了之后难以上手。为了帮助初次接触antlr的童鞋们能够快速运用antlr做出东西来,遂出此文,希望能帮助到迷茫中的朋友。(本人渣渣一枚,没有什么语言解析的基础,仅仅帮助大家使用工具,不谈原理) 概要 本文参照mlsql,定义一种数据加载...
阅读全文
Loading...