阶段 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:
@@ -100,3 +100,14 @@ target_compile_definitions(cases_test PRIVATE
|
||||
|
||||
add_test(NAME cases_all
|
||||
COMMAND cases_test)
|
||||
|
||||
# machine.toml 加载与强校验(阶段 A 步骤 3;REPO_ROOT 注入源目录绝对路径)
|
||||
add_executable(machine_test
|
||||
./src/machine_test.cpp)
|
||||
|
||||
target_link_libraries(machine_test PRIVATE compiler)
|
||||
target_compile_definitions(machine_test PRIVATE
|
||||
REPO_ROOT="${CMAKE_SOURCE_DIR}")
|
||||
|
||||
add_test(NAME machine_config
|
||||
COMMAND machine_test)
|
||||
|
||||
Reference in New Issue
Block a user