You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@shardingsphere.apache.org by "zhangliang@apache.org" <zh...@apache.org> on 2018/11/22 12:14:45 UTC

Parser module concept design

Parser module is the core module of whole ShardingSphere.
Consider about SQL compatibility, we are rewriting parse engine now. We use
ANTLR  to instead of original parse engine.
So we can remove original lexer and parser.
I consider define 3 package:
1. ast package to enhance ANTLR generated codes.
2. extractor package to extractor useful material to parse result
3. statement package to save parse result

for extractor package, we can split 3 packages further:
1. statement package for extract sql statement(eg. CreateTableExtractor,
DropTableExtractor)
2. clause package for extract sql clause(eg. WhereClauseExtractor,
LimitClauseExtractor)
3. token package for extract token (eg. TableTokenExtractor,
IndexTokenExtractor, SchemaTokenExtractor)

Any suggestion about that?

------------------

Liang Zhang (John)
Apache Sharding-Sphere & Dubbo