• Operand
  • some 1 had 2.

gram:scope

> ./src/main.rs

Lenses
(coming soon!)


extern crate indoc;
use indoc::indoc;

use pest::Parser;
use pest_derive::Parser;

#[derive(Parser)]
#[grammar = "src/grammar/sample.pest"]
pub struct Grammar;

fn main() {
  let nodes = indoc! {"
    ()
    .()
    (nushell)
    .(nushell) 
    nu.()
    "};

  let consequences = indoc! {"
    nu = (nushell)
    run = nu.():nu -e \"{}\"
    run> (ls).name
  "};

  for line in str::split(str::trim(nodes), "\n") {
    println!("chec: {}", line);
    let pairs = Grammar::parse(Rule::node, line);
    // display begin and end of pairs range.
    println!("{:?}\n", pairs)
  }

  for line in str::split(str::trim(consequences), "\n") {
    println!("chec: {}", line);
    let pairs = Grammar::parse(Rule::consequence, line);
    // display begin and end of pairs range.
    println!("{:?}\n", pairs)
  }
}