moved parsing into parse module.

This commit is contained in:
Shautvast 2025-01-07 16:09:24 +01:00
parent 92bab91020
commit 16e3b04b4e
7 changed files with 13 additions and 10 deletions

View file

@ -1,11 +1,9 @@
pub mod parse;
pub mod render;
use parse::tokens::TokenType;
use std::collections::HashMap; use std::collections::HashMap;
use tokens::TokenType;
pub mod parser;
mod scanner;
mod tokens;
#[derive(Debug)] #[derive(Debug)]
pub struct Vis { pub struct Vis {
pub structure: Vec<Element>, pub structure: Vec<Element>,

View file

@ -8,7 +8,7 @@ fn main() -> anyhow::Result<()> {
return Err(anyhow!("Usage: vis vis-file")); return Err(anyhow!("Usage: vis vis-file"));
} else { } else {
let vis_file = read_file(&args[1])?; let vis_file = read_file(&args[1])?;
let vis = vis::parser::parse_vis(vis_file.as_str())?; let vis = vis::parse::parse_vis(vis_file.as_str())?;
println!("{:?}", vis); println!("{:?}", vis);
} }

5
src/parse/mod.rs Normal file
View file

@ -0,0 +1,5 @@
mod scanner;
pub mod tokens;
pub mod parser;
pub use parser::parse_vis;

View file

@ -1,5 +1,5 @@
use crate::{ use crate::{
tokens::{ parse::tokens::{
Token, Token,
TokenType::{self, *}, TokenType::{self, *},
}, },
@ -8,7 +8,7 @@ use crate::{
use anyhow::anyhow; use anyhow::anyhow;
pub fn parse_vis(contents: &str) -> anyhow::Result<Vis> { pub fn parse_vis(contents: &str) -> anyhow::Result<Vis> {
let tokens = crate::scanner::scan(contents)?; let tokens = crate::parse::scanner::scan(contents)?;
// println!("{:?}", tokens); // println!("{:?}", tokens);
let mut parser = Parser::new(tokens); let mut parser = Parser::new(tokens);

View file

@ -1,6 +1,6 @@
use unicode_segmentation::UnicodeSegmentation; use unicode_segmentation::UnicodeSegmentation;
use crate::tokens::{ use crate::parse::tokens::{
Token, Token,
TokenType::{self, *}, TokenType::{self, *},
KEYWORDS, KEYWORDS,

0
src/render/mod.rs Normal file
View file