2022-06-20 20:32:29 -07:00
|
|
|
pub mod aggregator;
|
2022-06-15 09:33:52 -07:00
|
|
|
pub mod assembler;
|
2022-06-20 20:32:29 -07:00
|
|
|
mod ast;
|
2022-07-14 11:31:47 -07:00
|
|
|
pub(crate) mod keccak_util;
|
2022-06-20 20:32:29 -07:00
|
|
|
mod opcodes;
|
|
|
|
|
mod parser;
|
2022-06-27 18:08:03 -07:00
|
|
|
|
2022-07-07 16:53:06 +02:00
|
|
|
#[cfg(test)]
|
|
|
|
|
mod interpreter;
|
|
|
|
|
|
2022-06-27 18:08:03 -07:00
|
|
|
use assembler::assemble;
|
|
|
|
|
use parser::parse;
|
|
|
|
|
|
2022-07-08 08:56:46 -07:00
|
|
|
use crate::cpu::kernel::aggregator::evm_constants;
|
|
|
|
|
|
2022-06-27 18:08:03 -07:00
|
|
|
/// Assemble files, outputting bytes.
|
|
|
|
|
/// This is for debugging the kernel only.
|
|
|
|
|
pub fn assemble_to_bytes(files: &[String]) -> Vec<u8> {
|
|
|
|
|
let parsed_files: Vec<_> = files.iter().map(|f| parse(f)).collect();
|
2022-07-08 08:56:46 -07:00
|
|
|
let kernel = assemble(parsed_files, evm_constants());
|
2022-06-27 18:08:03 -07:00
|
|
|
kernel.code
|
|
|
|
|
}
|