1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#![allow(non_snake_case)]
#![allow(non_upper_case_globals)]
extern crate jazz;


pub mod opcode;
pub mod parser;
pub mod assembler;

#[macro_export]
macro_rules! encode {
    ($v:expr; $t: ty) => {
        unsafe {
            ::std::mem::transmute::<$t,[u8;::std::mem::size_of::<$t>()]>($v)
        }
    };
}

#[macro_export]
macro_rules! decode {
    ($arr: expr; $t: ty) => {
        unsafe {
            ::std::mem::transmute::<[u8;::std::mem::size_of::<$t>()],$t>($arr)
        }
    };
}