gengine

module
v1.6.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 10, 2023 License: BSD-3-Clause

README

gengine

本fork仓库,修复了原gengine出现的问题,以及添加了一些使用过程中需要的特性。 请随意取用,有问题可联系vx:cookedsteak

原项目文档

https://github.com/bilibili/gengine/wiki/

修改与添加的特性

  • 添加逻辑运算符兼容:'&','|','and','or'
  • 添加比较运算符兼容:'lt','gt','ge','le','eq','ne'
  • 支持更高的精度类型(decimal),并返回string类型
more...
  • 支持多元连续比较

一些学习资料

可参考: https://tonybai.com/2022/05/25/an-example-of-implement-dsl-using-antlr-and-go-part2/

antlr 的安装

下载jar包

$ export CLASSPATH=".:/usr/local/lib/antlr-4.13.1-complete.jar:$CLASSPATH"
$ alias antlr4='java -jar /usr/local/lib/antlr-4.13.1-complete.jar'
$ alias grun='java org.antlr.v4.gui.TestRig'

生产代码命令

antlr4 -Dlanguage=Go -encoding UTF-8 -visitor -o alr2 gengine.g4

调试

antlr gengine.g4 生成java代码 compile ./gengine*.java 进行编译 grun gengine

Directories

Path Synopsis
internal
plugin command
package必须是main
package必须是main

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL