[發明專利]使用領域專用語言的自定義邏輯方法、系統和可讀介質有效
| 申請號: | 202011499549.1 | 申請日: | 2020-12-18 |
| 公開(公告)號: | CN112231068B | 公開(公告)日: | 2021-03-16 |
| 發明(設計)人: | 楊濤;鮑勇翔 | 申請(專利權)人: | 浙江太美醫療科技股份有限公司 |
| 主分類號: | G06F9/455 | 分類號: | G06F9/455;G06F8/30;G06F8/41 |
| 代理公司: | 上海專利商標事務所有限公司 31100 | 代理人: | 駱希聰 |
| 地址: | 314000 浙江省嘉興市經濟技*** | 國省代碼: | 浙江;33 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 使用 領域 專用 語言 自定義 邏輯 方法 系統 可讀 介質 | ||
本申請提供了一種使用領域專用語言的自定義邏輯方法、系統和計算機可讀介質。該方法包括:接收用戶輸入的原始代碼和原始代碼的返回類型,其中原始代碼使用基于TypeScript語言的預設的領域專用語言,其中預設的領域專用語言的語法包括第一預設語法和第二預設語法;將TypeScript聲明文件注冊到編譯器中;將原始代碼轉換成抽象語法樹;根據TypeScript聲明文件驗證原始代碼;根據第二預設語法驗證抽象語法樹的返回類型與用戶輸入的原始代碼的返回類型是否一致;根據第一預設語法對抽象語法樹進行轉換;根據抽象語法樹輸出可執行腳本。該方法能夠用較低的用戶學習成本實現自定義復雜邏輯并且適用于規模較大的系統。
技術領域
本申請主要涉及計算機技術領域,尤其涉及一種使用領域專用語言的自定義邏輯方法、系統和計算機可讀介質。
背景技術
用戶在使用系統中的功能時,常常會遇到系統默認的處理流程或者邏輯無法滿足用戶需求這一問題。在這種情況下,用戶需要通過自定義邏輯來實現自己所需要的功能,但是系統中可以進行編程定制化的功能是有限制的。因此,系統通過把整體的邏輯分成一個一個不可分割的最小邏輯單元給用戶使用,用戶通過對邏輯進行自由組合來實現個性化需求。因此,邏輯編排是指用戶基于系統提供的定制化功能,按照自己的需求重新排列組合邏輯單元。
在現有技術中,用戶想要實現自定義邏輯通常有2種方法。最常見的處理方法是通過通用編程語言實現,例如Java、JavaScript、C#等編程語言,系統只需提供一個庫給用戶調用即可。通用編程語言方式能夠實現復雜邏輯的定義。但對于普通用戶來說,通用編程語言的學習成本很高。用戶為了使用系統還需要學習一門編程語言,使用難度太大。
另一種方法是通過可視化方式實現邏輯編排,例如流程圖等可視化方式。這種可視化自定義邏輯的方式在近些年越來越流行,是為了解決通用編程語言上手成本過高的問題。在一個示例中,圖形化的編排方式可以把參數處理、服務調用、結果處理等抽象成一個處理器,然后用戶可以用if、while等邏輯語句來實現自定義處理器的流程。但是,圖形化自定義邏輯的方式難以實現復雜的邏輯編排。并且隨著系統規模增大到一定程度后,用戶的使用成本會隨著系統功能的增多而快速上升,此時繼續使用圖形化方式會反而會比編程方式需要更高的使用成本。
因此,本領域技術人員亟需一種自定義邏輯方法,能夠用較低的用戶學習成本實現自定義復雜邏輯,并且用戶使用成本不會隨著系統規模的擴大而快速上升,適用于較大規模的系統。
發明內容
本申請要解決的技術問題是提供一種使用領域專用語言的自定義邏輯方法、系統和計算機可讀介質,能夠用較低的用戶學習成本實現自定義復雜邏輯并且適用于規模較大的系統。
為解決上述技術問題,本申請提供了一種使用領域專用語言的自定義邏輯方法,運行于JavaScript虛擬機中,包括:接收用戶輸入的原始代碼和所述原始代碼的返回類型,其中所述原始代碼使用基于TypeScript語言的預設的領域專用語言,其中所述預設的領域專用語言的語法包括第一預設語法和第二預設語法,所述第一預設語法用于還原異步操作,所述第二預設語法用于判斷所述返回類型,所述原始代碼的返回類型為條件類型、計算類型或動作類型;將TypeScript聲明文件注冊到TypeScript編譯器中,其中所述TypeScript聲明文件包含所述預設的領域專用語言的語法規則,所述TypeScript聲明文件包括以下任意一個或多個:系統邏輯單元聲明文件、工具邏輯單元聲明文件和第一自定義邏輯單元聲明文件;將所述原始代碼轉換成相應的抽象語法樹;基于所述TypeScript編譯器根據所述TypeScript聲明文件驗證所述原始代碼,若驗證不通過則輸出錯誤信息并結束;根據所述第二預設語法驗證所述抽象語法樹的返回類型與所述用戶輸入的所述原始代碼的返回類型是否一致,若不一致則輸出錯誤信息并結束,其中所述抽象語法樹的返回類型是根據返回語句判斷;根據所述第一預設語法對所述抽象語法樹進行轉換;根據轉換后的抽象語法樹輸出相應的可執行的JavaScript腳本和第二自定義邏輯單元聲明文件;以及將所述第二自定義邏輯單元聲明文件加入所述第一自定義邏輯單元聲明文件。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于浙江太美醫療科技股份有限公司,未經浙江太美醫療科技股份有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202011499549.1/2.html,轉載請聲明來源鉆瓜專利網。





