Skip to main content

lisette_syntax/lex/
types.rs

1use crate::lex::Token;
2use crate::parse::ParseError;
3
4#[derive(Debug)]
5pub struct LexResult<'source> {
6    pub tokens: Vec<Token<'source>>,
7    pub errors: Vec<ParseError>,
8    pub trivia: Trivia,
9}
10
11impl<'source> LexResult<'source> {
12    pub fn failed(&self) -> bool {
13        !self.errors.is_empty()
14    }
15}
16
17#[derive(Debug, Default, Clone)]
18pub struct Trivia {
19    pub comments: Vec<(u32, u32)>,
20    pub doc_comments: Vec<(u32, u32)>,
21    pub blank_lines: Vec<u32>,
22}