Skip to main content

Crate openscad_rs

Crate openscad_rs 

Source
Expand description

§openscad-rs

A high-performance OpenSCAD parser library for Rust.

Parses .scad source files into a well-typed AST suitable for building compilers, formatters, linters, and language servers.

§Quick Start

use openscad_rs::parse;

let source = r#"
    module box(size = 10) {
        cube(size);
    }
    box(size = 20);
"#;

let ast = parse(source).expect("parse error");
println!("Parsed {} statements", ast.statements.len());

Re-exports§

pub use ast::Argument;
pub use ast::BinaryOp;
pub use ast::Expr;
pub use ast::ExprKind;
pub use ast::Modifiers;
pub use ast::Parameter;
pub use ast::SourceFile;
pub use ast::Statement;
pub use ast::UnaryOp;
pub use error::ParseError;
pub use error::ParseResult;
pub use parser::parse;
pub use span::Span;
pub use visit::Visitor;

Modules§

ast
error
lexer
parser
span
Source location tracking for AST nodes. Every AST node carries a Span so tools can map back to exact source positions.
token
visit