1use std::fs;
2
3fn main() {
4 let mzn_code = fs::read_to_string("examples/models/sudoku.mzn")
5 .expect("Failed to read sudoku.mzn");
6
7 println!("=== Parsing Sudoku Example ===\n");
8
9 let ast = match zelen::parse(&mzn_code) {
10 Ok(ast) => {
11 println!("✓ Parsing successful!");
12 println!("AST contains {} items", ast.items.len());
13 ast
14 }
15 Err(e) => {
16 println!("✗ Parsing failed: {}", e);
17 std::process::exit(1);
18 }
19 };
20
21 println!("\n=== Translating Sudoku Example ===\n");
22
23 match zelen::translate(&ast) {
24 Ok(_model) => {
25 println!("✓ Translation successful!");
26 println!("Model created successfully with 2D array constraints");
27 }
28 Err(e) => {
29 println!("✗ Translation failed: {}", e);
30 std::process::exit(1);
31 }
32 };
33}