bobascript/
debug.rs

1use crate::chunk::{Chunk, OpCode};
2
3pub fn disassemble_chunk(chunk: &Chunk, name: &str) {
4  println!("== {} ==", name);
5
6  for (i, opcode) in chunk.code.iter().enumerate() {
7    disassemble_instruction(chunk, opcode, i);
8  }
9}
10
11pub fn disassemble_instruction(chunk: &Chunk, opcode: &OpCode, offset: usize) {
12  let instruction = match opcode {
13    OpCode::Constant(idx) => format!("Constant {:0>#4} {}", idx, chunk.constants[*idx]),
14    _ => format!("{:?}", opcode),
15  };
16  // println!("{:0>#4} #{:0>#4} {}", offset, line, instruction);
17  println!("{:0>#4} {}", offset, instruction);
18}