Skip to main content

parse

Function parse 

Source
pub fn parse(src: &str, visitor: &mut impl ProgramVisitor)
Expand description

Parses src from start to finish, driving visitor for each block.

For incremental or resumable parsing, use ParserState::empty and resume instead; return ControlFlow::Break from your visitor when you need to pause, then call resume with the returned state.

Examples found in repository?
examples/pretty_print_visitor.rs (line 165)
153fn main() {
154    let src = r"
155N10 G21 G90 (metric, absolute)
156N20 G00 X50.0 Y-10.0
157N30 M03 S12000
158N40 G01 X1.5 Y-0.25 F100
159";
160    let mut output = String::new();
161    let mut visitor = PrettyPrinter {
162        output: &mut output,
163        diagnostics: NoopDiagnostics,
164    };
165    gcode::core::parse(src, &mut visitor);
166    println!("Pretty-printed program:\n{}", output);
167}