OCaml wire format DSL with EverParse 3D output for verified parsers
at main 30 lines 764 B view raw
1(test 2 (name test) 3 (modules test test_wire) 4 (libraries wire alcotest re fmt)) 5 6(executable 7 (name gen_3d) 8 (modules gen_3d) 9 (libraries wire)) 10 11; EverParse integration tests 12; First generate .3d files, then run EverParse on them 13 14(rule 15 (targets Bitfields.3d Enumerations.3d FieldDependence.3d) 16 (deps gen_3d.exe) 17 (action 18 (run ./gen_3d.exe))) 19 20; EverParse 3D validation - runs 3d on generated .3d files 21; Requires 3d to be in PATH (e.g., via ~/.local/bin/3d) 22 23(rule 24 (alias 3d) 25 (deps Bitfields.3d Enumerations.3d FieldDependence.3d) 26 (action 27 (bash 28 "~/.local/everparse/bin/3d.exe --version && for f in *.3d; do ~/.local/everparse/bin/3d.exe --batch \"$f\" || exit 1; done"))) 29 30; Note: C code generation for differential testing is in the diff/ directory