skeleton for codegen

This commit is contained in:
Chris Fallin
2021-09-04 12:45:42 -07:00
parent 02ec77a45b
commit 5aa72bc060
4 changed files with 43 additions and 13 deletions

View File

@@ -3,9 +3,9 @@
use crate::error::Error;
use crate::{ast, codegen, sema};
pub fn compile(defs: &ast::Defs) -> Result<codegen::Automata, Error> {
pub fn compile(defs: &ast::Defs) -> Result<String, Error> {
let mut typeenv = sema::TypeEnv::from_ast(defs)?;
let termenv = sema::TermEnv::from_ast(&mut typeenv, defs)?;
let automata = codegen::Automata::compile(&typeenv, &termenv)?;
Ok(automata)
let codegen = codegen::Codegen::compile(&typeenv, &termenv)?;
codegen.generate_rust()
}