ngc

Library to parse G-code (LinuxCNC dialect)


Keywords
machine, gcode, linuxcnc, cnc
Licenses
MIT/Apache-2.0

Documentation

ngc - G-Code parser/evaluator for Rust

Build Status Build Status crates.io

Work in progress!

Currently, only the parser is functional.

Documentation

Module documentation is hosted on docs.rs.

Examples

The following code (the same as the "ngc-parse" demo binary) takes a file as an argument, parses it and outputs the display form, which is the same G-code, but in a consistent format and cleaned of comments.

use std::{env, fs};
use ngc::parse::parse;

fn main() {
    let filename = env::args().nth(1).unwrap();
    let input = fs::read_to_string(&filename).unwrap();

    match parse(&filename, &input) {
        Err(e) => eprintln!("Parse error: {}", e),
        Ok(prog) => println!("{}", prog),
    }
}