blob: 166a326375370516a15c4fcf0019ff4dd0130f16 [file] [log] [blame]
// Copyright 2018 The Fuchsia Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
use {crate::ast::BanjoAst, anyhow::Error, std::io};
pub use self::{ast::AstBackend, c::CBackend, cpp::CppBackend, cpp::CppSubtype, rust::RustBackend};
mod ast;
mod c;
mod cpp;
mod rust;
mod util;
pub trait Backend<'a, W: io::Write> {
fn codegen(&mut self, ast: BanjoAst) -> Result<(), Error>;
}