diff options
| Commit | aea15f0a2c265ea1afc04a227eff5cbfaef9c3a3 (patch) | |
|---|---|---|
| Author | 2025-02-13 23:27:21 +0200 | |
| Committer | 2025-02-13 23:27:21 +0200 | |
| Files | 655f6ac7440617f12651478f0c326822e09e92f2 /assembler/src/parser/code_gen.rs | |
| tonkobali-aea15f0a2c265ea1afc04a227eff5cbfaef9c3a3.tar tonkobali-aea15f0a2c265ea1afc04a227eff5cbfaef9c3a3.tar.gz tonkobali-aea15f0a2c265ea1afc04a227eff5cbfaef9c3a3.zip | ||
| Parent | ef23f004b131588e6c4a7c20d4f4fafb88292fb9 (diff) | |
feat(assembler): Bytes output and pretty print
1 files changed, 11 insertions, 0 deletions
| -rw-r--r-- | assembler/src/parser/code_gen.rs | 11 |
diff --git a/assembler/src/parser/code_gen.rs b/assembler/src/parser/code_gen.rs index 77f2c2f..4352e9e 100644 --- a/assembler/src/parser/code_gen.rs +++ b/assembler/src/parser/code_gen.rs @@ -52,4 +52,15 @@ impl Program { } self.instructions.clear(); } + + pub(crate) fn to_bytes(self, absolute_start: usize) -> Vec<u8> { + let mut res = Vec::new(); + res.resize(absolute_start, Default::default()); + res.extend(self.constants); + res + .into_iter() + .map(|x| x.to_be_bytes()) + .flatten() + .collect() + } } |
