文件名称:expr:用于Go的表达式评估引擎:快速,非图灵完整,动态键入,静态键入
文件大小:3.84MB
文件格式:ZIP
更新时间:2024-02-25 07:59:29
go expression evaluator expression-evaluator expression-language
Expr Expr软件包提供了可以编译和评估表达式的引擎。 表达式是返回值(主要但不限于布尔值)的单行代码。 它旨在简化,提高速度和提高安全性。 该软件包的目的是允许用户使用配置内部的表达式来实现更复杂的逻辑。 它是建立业务规则引擎的理想人选。 这个想法是让我们以动态方式配置事物而无需重新编译程序: # Get the special price if user . Group in [ " good_customers " , " collaborator " ] # Promote article to the homepage when len ( article . Commen
【文件预览】:
expr-master
----compiler()
--------compiler.go(12KB)
--------compiler_test.go(3KB)
--------patcher.go(929B)
----.gitignore(45B)
----go.mod(218B)
----docgen()
--------docgen_test.go(4KB)
--------README.md(743B)
--------docgen.go(6KB)
--------markdown.go(2KB)
----optimizer()
--------const_expr.go(2KB)
--------optimizer.go(696B)
--------in_range.go(867B)
--------fold.go(3KB)
--------optimizer_test.go(2KB)
--------in_array.go(1KB)
--------const_range.go(703B)
----vm()
--------helpers.go(58KB)
--------program.go(3KB)
--------vm.go(8KB)
--------vm_test.go(2KB)
--------runtime.go(6KB)
--------program_test.go(382B)
--------opcodes.go(575B)
--------generate()
----.travis.yml(28B)
----checker()
--------checker_test.go(12KB)
--------checker.go(14KB)
--------types.go(6KB)
----expr_test.go(24KB)
----LICENSE(1KB)
----go.sum(3KB)
----.github()
--------workflows()
----file()
--------source_test.go(2KB)
--------error.go(997B)
--------source.go(2KB)
--------location.go(219B)
----README.md(5KB)
----parser()
--------lexer()
--------parser.go(12KB)
--------parser_test.go(9KB)
----bench_test.go(99KB)
----ast()
--------visitor_test.go(1KB)
--------print.go(1KB)
--------visitor.go(2KB)
--------node.go(2KB)
----conf()
--------operators_table.go(984B)
--------types_table.go(2KB)
--------config.go(2KB)
----expr.go(5KB)
----docs()
--------images()
--------Optimizations.md(2KB)
--------Visitor-and-Patch.md(3KB)
--------Getting-Started.md(2KB)
--------Operator-Override.md(1KB)
--------examples()
--------Language-Definition.md(4KB)
--------README.md(229B)
----cmd()
--------exe()