mirror of
https://github.com/rust-lang/rust.git
synced 2025-05-14 02:49:40 +00:00
23 lines
453 B
Rust
23 lines
453 B
Rust
use {Token, SyntaxKind};
|
|
|
|
mod grammar;
|
|
mod parser;
|
|
|
|
#[derive(Debug)]
|
|
pub(crate) enum Event {
|
|
Start { kind: SyntaxKind },
|
|
Finish,
|
|
Token {
|
|
kind: SyntaxKind,
|
|
n_raw_tokens: u8,
|
|
},
|
|
Error {
|
|
message: String,
|
|
},
|
|
}
|
|
|
|
pub(crate) fn parse<'t>(text: &'t str, raw_tokens: &'t [Token]) -> Vec<Event> {
|
|
let mut parser = parser::Parser::new(text, raw_tokens);
|
|
grammar::file(&mut parser);
|
|
parser.into_events()
|
|
} |