diff --git a/internal/parser/planparserv2/README.md b/internal/parser/planparserv2/README.md index 27665c1333..627557b226 100644 --- a/internal/parser/planparserv2/README.md +++ b/internal/parser/planparserv2/README.md @@ -11,13 +11,7 @@ The version of antlr tool: `4.9`. After you install the antlr4, you can generate the parser code in golang with: ```shell -export CLASSPATH=".:${PWD}/antlr-4.9-complete.jar:$CLASSPATH" -alias antlr4='java -Xmx500M -cp "${PWD}/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.Tool' -alias grun='java -Xmx500M -cp "${PWD}/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.gui.TestRig' -``` - -```shell -antlr4 -Dlanguage=Go -package planparserv2 -o generated -no-listener -visitor Plan.g4 +go generate ``` All generated code will be under directory `generated`. diff --git a/internal/parser/planparserv2/generate.go b/internal/parser/planparserv2/generate.go new file mode 100644 index 0000000000..1c32288bc4 --- /dev/null +++ b/internal/parser/planparserv2/generate.go @@ -0,0 +1,3 @@ +package planparserv2 + +//go:generate ./generate.sh diff --git a/internal/parser/planparserv2/generate.sh b/internal/parser/planparserv2/generate.sh new file mode 100755 index 0000000000..0d5b1bb67a --- /dev/null +++ b/internal/parser/planparserv2/generate.sh @@ -0,0 +1,5 @@ +#!/usr/bin/env sh + +alias antlr4='java -Xmx500M -cp "../../../scripts/antlr-4.9-complete.jar:$CLASSPATH" org.antlr.v4.Tool' +rm -fr generated +antlr4 -Dlanguage=Go -package planparserv2 -o generated -no-listener -visitor Plan.g4 diff --git a/scripts/antlr-4.9-complete.jar b/scripts/antlr-4.9-complete.jar new file mode 100644 index 0000000000..c1ca306cc0 Binary files /dev/null and b/scripts/antlr-4.9-complete.jar differ