Add a conversion from our high-level IR to a lower-level one.

This commit is contained in:
2022-02-24 21:18:30 -08:00
parent 9d82c8ca2d
commit dcc6562050
9 changed files with 332 additions and 37 deletions

View File

@@ -1,12 +1,13 @@
use codespan_reporting::files::SimpleFiles;
use crate::asts::hil;
use crate::errors::Error;
use crate::syntax;
use crate::syntax::Location;
use crate::variable_map::VariableMap;
use crate::warnings::Warning;
use codespan_reporting::files::SimpleFiles;
use std::fs;
mod hil_to_lil;
mod syntax_to_hil;
pub struct PassResult<T> {
@@ -15,9 +16,9 @@ pub struct PassResult<T> {
pub errors: Vec<Error>,
}
impl<T,E> From<E> for PassResult<Option<T>>
where
Error: From<E>
impl<T, E> From<E> for PassResult<Option<T>>
where
Error: From<E>,
{
fn from(x: E) -> Self {
PassResult {
@@ -61,4 +62,4 @@ pub fn run_front_end(
warnings: conversion_result.warnings,
errors: conversion_result.errors,
}
}
}