define_test/
define_test.rs1use shm_rs::lexer::lexer;
2use shm_rs::static_scheme::generator::RustCode;
3use shm_rs::static_scheme::init;
4use shm_rs::RustCodeDerives;
5
6fn main()
7{
8 let mut curdir = std::env::current_dir().unwrap();
9 curdir.push("examples/defines_init.shm");
10
11 println!("{}", curdir.display());
12
13 let lex = lexer::Lexer::from_file(curdir).unwrap();
14 let schm = init::SchemeInit::new().unwrap();
15
16 let res = schm.run(None, &lex, None).unwrap();
17
18 println!("{:?}", res);
19
20 let resser = res.get("defines").unwrap().clone();
21
22 let mut rc = RustCode::new(vec![RustCodeDerives::Debug], vec![], None);
23
24 println!("Structures: ");
25 match resser.generate_rust_code(&mut rc)
26 {
27 Ok(_) =>
28 {
29 println!("{}", rc);
30 },
31 Err(e) =>
32 {
33 println!("{}", e);
34 }
35 }
36}