celestial-hub-compass 0.1.12

A simple ETAC compiler
Documentation
use celestial_hub_compass::cli::{Cli, Commands};
use celestial_hub_compass::codegen::Codegen;
use clap::Parser;

fn main() -> Result<(), Box<dyn std::error::Error>> {
  let cli = Cli::parse();

  let ast = match &cli.command {
    Commands::Emit(options) => celestial_hub_compass::cli::emit::ast(options),
  }?;

  let mips_codegen = celestial_hub_compass::codegen::mips::MipsCodegen;

  let result = mips_codegen.generate(ast, &mut Default::default())?;

  println!("{}", result);

  Ok(())
}