QlExpress表達式介紹(一)

QLExpress 規則引擎介紹

一個輕量級的類java語法規則引擎,作爲一個嵌入式規則引擎在業務系統中使用。讓業務規則定義簡便而不失靈活。讓業務人員就可以定義業務規則。支持標準的JAVA語法,還可以支持自定義操作符號、操作符號重載、函數定義、宏定義、數據延遲加載等

QLExpress之helloworld

 public static void main(String[] args) throws Exception{
        String express = "10 * 10 + 1 + 2 * 3 + 5 * 2";
        ExpressRunner runner = new ExpressRunner();
        Object r = runner.execute(express,null, null, false,false);
        System.out.println("表達式計算:" + express + " = " + r);

    }

/**
 * 執行一段文本
 * @param expressString 程序文本
 * @param context 執行上下文
 * @param errorList 輸出的錯誤信息List
 * @param isCache 是否使用Cache中的指令集
 * @param isTrace 是否輸出詳細的執行指令信息
 * @return
 * @throws Exception
 */
runner.execute(express,null, null, false,false);

執行結果:表達式計算:10 * 10 + 1 + 2 * 3 + 5 * 2 = 117

QLExpress 執行過程

通過ExpressRunner構造函數可以打印執行信息 ExpressRunner runner = new ExpressRunner(false,true);

再次執行控制檯打印:

可以把QLExpress的執行總結爲以下過程:

1.單詞分解

2.語法類型分解

3.分析語法

4.生成指令

5.執行指令

 

摘文

https://blog.csdn.net/express_wind

感謝博主分享,學無止境

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章