Files
powdr/executor
Georg Wiese aff92d092d Improve error reporting in BlockMachineProcessor (#2279)
Extracted from #2275.

This PR makes it easier to debug failing code generation in
`BlockMachineProcessor` by printing the code generated so far.

Example:
```
$ RUST_LOG=debug cargo run pil test_data/std/binary_large_test.asm -o output -f
...
Code generation failed for connection:
  main::instr_and $ [0, main::X0, main::X1, main::X2] is main_binary::latch * main_binary::sel[0] $ [main_binary::operation_id, main_binary::A, main_binary::B, main_binary::C]
Known arguments:
  main_binary::operation_id
  main_binary::A
  main_binary::B
Error:
  Unable to derive algorithm to compute output value "main_binary::C"
The following code was generated so far:
main_binary::sel[0][3] = 1;
main_binary::operation_id[3] = params[0];
main_binary::A[3] = params[1];
main_binary::B[3] = params[2];
main_binary::operation_id[2] = main_binary::operation_id[3];
main_binary::operation_id_next[2] = main_binary::operation_id[3];
main_binary::operation_id[1] = main_binary::operation_id[2];
main_binary::operation_id_next[1] = main_binary::operation_id[2];
main_binary::operation_id[0] = main_binary::operation_id[1];
main_binary::operation_id_next[0] = main_binary::operation_id[1];
...
```
2024-12-30 16:09:13 +00:00
..
2024-12-17 10:41:04 +00:00