阶段 A 步骤 3:MachineConfig 加载层(toml++ + 强校验 5 项)。

- MachineConfig.h/cpp:解析 machine.toml → meta/types/ops/fbs 表
- 强校验:全属性必填、base 命中内建基元、range min≤max、tag 契约(BOOL=0/INT=1/TIME=2 唯一)、
  opcode 唯一 0..255、类别-格式互锁(instance↔CAL)、params 数量与 format 一致、
  fb.opcode 匹配 instance op、fb 字段类型命中 type 表
- 基元内置表(bit/int8..uint64/float32/64,宽度/符号/浮点)
- machine_test:38 断言(正例仓库表 + 9 类负例 + 最小配置),ctest 12/12
This commit is contained in:
2026-08-21 22:09:39 +08:00
parent 4dab914e7c
commit 44b5ecd46d
5 changed files with 762 additions and 1 deletions
+2 -1
View File
@@ -13,7 +13,8 @@ add_library(compiler STATIC
./src/Parser.cpp
./src/Linker.cpp
./src/Typecheck.cpp
./src/Codegen.cpp)
./src/Codegen.cpp
./src/MachineConfig.cpp)
target_include_directories(compiler PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/include)
target_include_directories(compiler PRIVATE ${CMAKE_SOURCE_DIR}/third_party/tomlplusplus/include)