最主要的類別,會呼叫 Scanner 和 Parser 來對輸入的 HiZollo Script 程式進行解析和建碼。
const compiler = new Compiler(options: CompilerOptions)options: 一個CompilerOptions物件
compile(source: string):編譯給定的 HiZollo Script 程式碼。回傳一個CompileResult物件。
一個將 Worker 包裝起來的類別,可以設定程式執行時間上限,輔助安全執行編譯後的 HiZollo Script。
const ew = new ExecutionWorker(code: string)code: 要執行的程式。
execute(options:ExecuteOptions):執行程式。回傳一個Promise<void>表示成功結束。
一個表示錯誤內容的列舉,內容與對應中文敘述如下:
UnknownStatement:未知敘述UnknownIdentifier:未知用途識別字CantImportCoreModule:不能手動引入核心模組AlreadyImported:已經引入此模組LateImport:匯入敘述應該放在程式開頭MissingModuleName:遺漏模組名稱ModuleNotFound:找不到模組MissingNumber:遺漏數字MissingString:遺漏字串MissingIdentifier:遺漏識別字IdentifierNotDefined:變數未宣告RedeclareIdentifier:變數重複宣告MissingLeftBracket:遺漏左括號MissingRightBracket:遺漏右括號MissingRightSquareBracket:遺漏右中括號MissingRightCurlyBracket:遺漏右大括號MissingAssignOperator:遺漏指定運算符MissingArrow:遺漏箭頭InvalidComparation:關係運算子錯誤InappropriateBreakStatement:跳出敘述只能出現在迴圈內UseDisabledFunction:使用被禁用的函數
一個表示所有 Token 種類的列舉,請參考原始碼。
一個物件,有以下的鍵值對:
includes:PathMap物件。disabledFunctions:string[],列出被禁用的函式。
一個鍵值都為字串的物件,其鍵表示套件之名稱,值為套件程式之路徑或程式碼。有關套件知詳細敘述請看此。
一個物件,有以下的鍵值對:
errorCount:編譯錯誤數量。errorMessages:編譯錯誤訊息,是一個ErrorOutput物件。build:建碼,是一個BuildResult物件。
一個物件,有以下的鍵值對:
full:完整的建碼。在編譯錯誤數量不為 0 時不保證建碼可運作或運作結果符合預期。partial:除去模組以外的建碼。
一個物件,有以下的鍵值對:
textify:格式化好的編譯錯誤訊息。errors:一個CompileError[]物件。
一個物件,有以下的鍵值對:
error:Errors列舉的值,對應到此錯誤編號。errorText: 字串,對應到此錯誤中文敘述。line: 數字,對應到此錯誤發生之行號。column: 數字,對應到此錯誤發生之符號最右邊於該行之索引值。token:Tokens列舉的值,且應小於Tokens.MAX_TERMINAL_TOKEN,表示發生錯誤之 Token 值。
一個物件,有以下的鍵值對:
maxExecutionTime:此程式的最大執行時間,以毫秒計,輸入 0 以下的數字來表示無限制。