blob: a84ddcb229ffda0343d8fcdf27527b60b0342534 [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, failure::Error, std::io};
pub use self::{ast::AstBackend, c::CBackend, cpp::CppBackend, cpp::CppInternalBackend};
mod ast;
mod c;
mod cpp;
pub trait Backend<'a, W: io::Write> {
fn codegen(&mut self, ast: BanjoAst) -> Result<(), Error>;
}