ppvm_vihaco (crate)
ppvm_vihaco¶
ppvm_vihaco
Modules
classPPVMModule¶source
ppvm_vihaco::PPVMModule
Rust type alias. A fully resolved PPVM module, ready to load into a [`PPVM`].
Signature
pub type PPVMModule = LocalModule<PPVMInstruction, Value, Type, PPVMDeviceInfo>functioncompile_program¶source
ppvm_vihaco::compile_program
pub fn compile_program(source: &str) -> Result<PPVMModule>Parameters
| Name | Type | Description |
|---|---|---|
source | &str |
Returns
Result<PPVMModule>
functiondump_file¶source
ppvm_vihaco::dump_file
pub fn dump_file(input_path: &str, output_path: &str) -> Result<()>Parameters
| Name | Type | Description |
|---|---|---|
input_path | &str | |
output_path | &str |
Returns
Result<()>
Read a `.sst` file and dump it to a `.ssb` bytecode file.
sourcefunctiondump_program¶source
ppvm_vihaco::dump_program
pub fn dump_program(program: &str, output_path: &str) -> Result<()>Parameters
| Name | Type | Description |
|---|---|---|
program | &str | |
output_path | &str |
Returns
Result<()>
Dump `.sst` source to a `.ssb` bytecode file.
sourcefunctionload_module_file¶source
ppvm_vihaco::load_module_file
pub fn load_module_file(path: &str) -> Result<PPVMModule>Parameters
| Name | Type | Description |
|---|---|---|
path | &str |
Returns
Result<PPVMModule>
Read a file and produce a loadable module, auto-detecting the format: a leading PPVM magic is parsed as `.ssb` bytecode, otherwise as `.sst` source. Mirrors PPVM::load_file but returns the module so it can be compiled once and run for many shots.
sourcefunctionparse_program¶source
ppvm_vihaco::parse_program
Signature
pub fn parse_program(source: &str) -> Result<ParsedModule<Instruction, SurfaceType, Vec<PPVMHeader>>>Parameters
| Name | Type | Description |
|---|---|---|
source | &str |
Returns
Result<ParsedModule<Instruction, SurfaceType, Vec<PPVMHeader>>>
Parse `.sst` source into the unresolved AST.
sourcefunctionrun_file¶source
ppvm_vihaco::run_file
pub fn run_file(path: &str) -> Result<PPVM>Parameters
| Name | Type | Description |
|---|---|---|
path | &str |
Returns
Result<PPVM>
functionrun_program¶source
ppvm_vihaco::run_program
pub fn run_program(program: &str) -> Result<PPVM>Parameters
| Name | Type | Description |
|---|---|---|
program | &str |
Returns
Result<PPVM>