2023-11-15 10:55:14 +01:00
|
|
|
use lexer::Token;
|
|
|
|
use logos::Lexer;
|
|
|
|
use logos::Logos;
|
2023-11-15 11:18:45 +01:00
|
|
|
use syntax::parse_syntax;
|
2023-11-15 10:55:14 +01:00
|
|
|
use utils::ws;
|
|
|
|
use winnow::prelude::*;
|
|
|
|
use winnow::Parser;
|
|
|
|
|
2023-11-15 11:18:45 +01:00
|
|
|
use crate::syntax::check_syntax;
|
|
|
|
|
2023-11-15 10:55:14 +01:00
|
|
|
mod lexer;
|
|
|
|
mod syntax;
|
|
|
|
mod utils;
|
|
|
|
|
|
|
|
fn main() {
|
2023-11-15 11:18:45 +01:00
|
|
|
// valid
|
2023-11-15 10:55:14 +01:00
|
|
|
let input = "load \"./image.png\" | invert | save \"./image_processed.jpg\"";
|
2023-11-15 11:18:45 +01:00
|
|
|
dbg!(parse_syntax(input));
|
|
|
|
|
|
|
|
// invalid
|
|
|
|
let invalid_no_streamer = "| invert | save \"./image_processed.jpg\"";
|
|
|
|
check_syntax(parse_syntax(invalid_no_streamer), invalid_no_streamer)
|
2023-11-15 10:55:14 +01:00
|
|
|
}
|