編譯器
它會把載不動的東西寫下來。
每個匯入器都會掉東西。差別在於它說不說。mlfc 把不支援或只能部分重建的行為記進 reports/import_loss.json,而不是端出一份它撐不起來的乾淨封包。
穩定指令
v1.0 的穩定指令表面:
text
compile validate migrate
inspect fingerprint export
diff batch-validate
audit-dependencies
schedule shard-plan project資料集、模型、推論、覆核、校準、OOD 與外部接收的指令也存在。它們的輸出是受治理或實驗性的產物,不是自動成立的真相 —— 見安全頁。
CSV
- 二維座標。
- 原始型別推論。
- 表頭與本體區域推論。
- 列優先與欄優先路徑。
- 一份明確的轉換損失報告。
Markdown
- 標題、段落、清單、引用、程式碼圍欄與表格。
- 來源行號對映。
- 順序性的閱讀相依。
- 表格各自成為獨立矩陣。
一份 Markdown 文件看起來不像矩陣。把它的表格當成獨立矩陣、把它的閱讀順序當成相依邊,就是讓它成為矩陣、又不假裝散文是表格的那個選擇。
XLSX,有界
這裡真正在做事的詞是有界。子集被明確寫出來,界外的一切是被回報,而不是被近似。
- 多張工作表。
- 數值、公式,以及可取得時的快取值。
- 有界的 Excel A1 公式 AST。
- 跨工作表相依。
- 簡單的具名參照與結構化參照。
- 表格、合併、篩選與具名範圍的區域。
- 常見的樣式與版面中繼資料。
- 安全副本匯出,永不覆寫來源。
內容
不支援或只能部分重建的行為會被記錄下來,而不是默默猜過去。
遷移
舊版 MLF 0.1 封包可以遷移到 1.0,而原始檔不會被修改。
bash
mlfc migrate examples/legacy/sample-v0.1.mlf examples/output/sample-v1.0.mlf這次遷移是決定性且非破壞性的,而且必須保留語意與呈現指紋。那個要求在發布執行中被實際檢查,不是假設。
參考實作
MLF Compiler 1.0.0 是一個參考實作,這是一個具體的主張:它定義了穩定表面上「什麼叫符合規範的行為」,而它不主張自己是產生有效封包的唯一或最快方式。
- 發行版
mlf-compiler- 套件
mlf_compiler- CLI
mlfc- Python
- 3.11 以上
- Tag
v1.0.0