From 4cda3255309e7ed9c9d9094e12a8d91bdc1554ab Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 1 Jan 2018 16:05:46 +0300 Subject: Parser: even more groundwork --- src/parser/event_parser/mod.rs | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 src/parser/event_parser/mod.rs (limited to 'src/parser/event_parser/mod.rs') diff --git a/src/parser/event_parser/mod.rs b/src/parser/event_parser/mod.rs new file mode 100644 index 000000000..14107720a --- /dev/null +++ b/src/parser/event_parser/mod.rs @@ -0,0 +1,20 @@ +use {Token, TextUnit, SyntaxKind}; + +use syntax_kinds::*; +mod grammar; +mod parser; + +pub(crate) enum Event { + Start { kind: SyntaxKind }, + Finish, + Token { + kind: SyntaxKind, + n_raw_tokens: u8, + } +} + +pub(crate) fn parse<'t>(text: &'t str, raw_tokens: &'t [Token]) -> Vec { + let mut parser = parser::Parser::new(text, raw_tokens); + grammar::parse_file(&mut parser); + parser.into_events() +} \ No newline at end of file -- cgit v1.2.3