1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35
mod expr; mod stmt; use crate::lexer::TokenKind; use crate::parser::Parser; use crate::syntax::SyntaxKind; use super::marker::CompletedMarker; pub fn root(p: &mut Parser) -> CompletedMarker { let m = p.start(); while !p.at_end() { stmt::stmt(p); } m.complete(p, SyntaxKind::Root) } #[cfg(test)] mod tests { use crate::parser::check; use expect_test::expect; #[test] fn parse_ident() { check( "HEIGHT", expect![[r#" Root@0..6 Ident@0..6 Ident@0..6 "HEIGHT""#]], ); } }