Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

makefile自动运行gen_parser.sh脚本 #305

Closed
hnwyllmm opened this issue Oct 24, 2023 · 0 comments · Fixed by #473
Closed

makefile自动运行gen_parser.sh脚本 #305

hnwyllmm opened this issue Oct 24, 2023 · 0 comments · Fixed by #473
Labels
enhancement New feature or request good first issue Good for newcomers

Comments

@hnwyllmm
Copy link
Collaborator

hnwyllmm commented Oct 24, 2023

Enhancement
每次编译时,根据需要自动执行gen_parser.sh脚本,生成词法分析与语法分析的实现文件。
这要求测试环境,也需要安装好flex和bison(当前可以假设环境上已经安装了合适版本的组件)。

当前OceanBase就是这么做的。

最好能够做到,原始词法语法更改时,或者对应的.h/.cpp文件不存在时,才生成新的C/C++代码。

@hnwyllmm hnwyllmm added enhancement New feature or request good first issue Good for newcomers labels Oct 24, 2023
hnwyllmm added a commit that referenced this issue Nov 6, 2024
### What problem were solved in this pull request?

Issue Number: close #305

Problem:
当语法文件flex_sql.l和yacc_sql.y变更时,必须手动执行 gen_parser.sh 生成C++代码文件,比较麻烦。

### What is changed and how it works?
cmake中增加 add_custom_command,在 flex_sql.l 和
yacc_sql.y文件变更时自动重新生成相关的C++代码文件。
当然在这些文件不存在时,也会执行gen_parser.sh生成代码。

### Other information
将生成的代码文件加入了.gitignore,后续不需要再提交这些文件
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request good first issue Good for newcomers
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant