Skip to main content

Crate ternlang_codegen

Crate ternlang_codegen 

Source
Expand description

ternlang-codegen — AST → C transpiler backend.

Converts a ternlang Program (produced by ternlang-core::Parser) into a valid, self-contained C source file that can be compiled with any C11 compiler.

§Ternary representation

Trits are represented as int8_t with values -1, 0, +1. The generated file includes a small header of inline trit primitives so it has no external dependencies beyond <stdint.h> and <stdio.h>.

§Usage

use ternlang_codegen::CTranspiler;
use ternlang_core::{Parser, StdlibLoader};

let src = r#"fn main() -> trit { return consensus(1, -1); }"#;
let mut parser = ternlang_core::Parser::new(src);
let mut prog = parser.parse_program().unwrap();
StdlibLoader::resolve(&mut prog);

let c_src = CTranspiler::new().emit(&prog);
println!("{c_src}");

Structs§

CTranspiler