由于需要使用到doris中的sql parser功能,所以决定使用其定义好的flex文件和cup文件,生成自己sqlscanner和parser类。步骤如下:
1、下载JFlex和JavaCUP程序,路径分别为
http://www2.cs.tum.edu/projects/cup/docs.php#running
当前使用版本为jflex1.7.0,cup版本为0.11b版本。
下载之后配置jflex中bin路径下的bat文件,添加JAVA_HOME路径,并且修改JFLEX_HOME路径。同时,将jflex的bin目录加入到环境变量。
解压cup的压缩包。
2、使用JFlex生成scanner文件
在命令行下输入jflex -v,然后会调出jflex的图形化界面。选好文件,可以直接生成.java文件。
3、使用cup生成parser文件
切换路径到cup目录,输入命令:
其中-expect 1000为允许有1000个expect。