split up files a bit

This commit is contained in:
Schrottkatze 2024-04-24 20:00:17 +02:00
parent 9510d9254c
commit ba0da33509
Signed by: schrottkatze
SSH key fingerprint: SHA256:hXb3t1vINBFCiDCmhRABHX5ocdbLiKyCdKI4HK2Rbbc
4 changed files with 38 additions and 41 deletions

View file

@ -2,49 +2,9 @@ use crate::parser::{syntax_kind::SyntaxKind::*, CompletedMarker, Parser};
use self::{collection::collection, instruction::instr, lit::literal};
mod collection;
mod instruction;
mod lit;
mod collection {
use enumset::enum_set;
use crate::parser::{
syntax_kind::{SyntaxKind::*, TokenSet},
CompletedMarker, Parser,
};
use self::{attr_set::attr_set, matrix::matrix, vec::vec};
const COLLECTION_START: TokenSet = enum_set!(MAT_KW | L_BRACK | L_BRACE);
pub fn collection(p: &mut Parser) -> Option<CompletedMarker> {
if !COLLECTION_START.contains(p.current()) {
return None;
}
Some(match p.current() {
MAT_KW => matrix(p),
L_BRACK => vec(p),
L_BRACE => attr_set(p),
_ => unreachable!(),
})
}
mod matrix;
mod vec {
use crate::parser::{CompletedMarker, Parser};
pub fn vec(p: &mut Parser) -> CompletedMarker {
todo!()
}
}
mod attr_set {
use crate::parser::{CompletedMarker, Parser};
pub fn attr_set(p: &mut Parser) -> CompletedMarker {
todo!()
}
}
}
pub fn expression(p: &mut Parser) -> Option<CompletedMarker> {
let expr = p.start("expr");

View file

@ -0,0 +1,27 @@
use enumset::enum_set;
use crate::parser::{
syntax_kind::{SyntaxKind::*, TokenSet},
CompletedMarker, Parser,
};
use self::{attr_set::attr_set, matrix::matrix, vec::vec};
mod attr_set;
mod matrix;
mod vec;
const COLLECTION_START: TokenSet = enum_set!(MAT_KW | L_BRACK | L_BRACE);
pub fn collection(p: &mut Parser) -> Option<CompletedMarker> {
if !COLLECTION_START.contains(p.current()) {
return None;
}
Some(match p.current() {
MAT_KW => matrix(p),
L_BRACK => vec(p),
L_BRACE => attr_set(p),
_ => unreachable!(),
})
}

View file

@ -0,0 +1,5 @@
use crate::parser::{CompletedMarker, Parser};
pub fn attr_set(p: &mut Parser) -> CompletedMarker {
todo!()
}

View file

@ -0,0 +1,5 @@
use crate::parser::{CompletedMarker, Parser};
pub fn vec(p: &mut Parser) -> CompletedMarker {
todo!()
}