diff options
Diffstat (limited to 'src/parser')
-rw-r--r-- | src/parser/event.rs | 10 | ||||
-rw-r--r-- | src/parser/mod.rs | 14 |
2 files changed, 3 insertions, 21 deletions
diff --git a/src/parser/event.rs b/src/parser/event.rs index 0fbfaeb9f..83039c664 100644 --- a/src/parser/event.rs +++ b/src/parser/event.rs | |||
@@ -1,5 +1,5 @@ | |||
1 | use { | 1 | use { |
2 | ErrorMsg, File, FileBuilder, Sink, SyntaxKind, Token, GreenBuilder, | 2 | Sink, SyntaxKind, Token, |
3 | syntax_kinds::TOMBSTONE, | 3 | syntax_kinds::TOMBSTONE, |
4 | }; | 4 | }; |
5 | use super::is_insignificant; | 5 | use super::is_insignificant; |
@@ -67,12 +67,6 @@ pub(crate) enum Event { | |||
67 | }, | 67 | }, |
68 | } | 68 | } |
69 | 69 | ||
70 | pub(super) fn to_file(text: String, tokens: &[Token], events: Vec<Event>) -> File { | ||
71 | let mut builder = FileBuilder::new(text); | ||
72 | process(&mut builder, tokens, events); | ||
73 | builder.finish() | ||
74 | } | ||
75 | |||
76 | pub(super) fn process(builder: &mut Sink, tokens: &[Token], events: Vec<Event>) { | 70 | pub(super) fn process(builder: &mut Sink, tokens: &[Token], events: Vec<Event>) { |
77 | let mut idx = 0; | 71 | let mut idx = 0; |
78 | 72 | ||
@@ -147,7 +141,7 @@ pub(super) fn process(builder: &mut Sink, tokens: &[Token], events: Vec<Event>) | |||
147 | } | 141 | } |
148 | builder.leaf(kind, len); | 142 | builder.leaf(kind, len); |
149 | } | 143 | } |
150 | &Event::Error { ref msg } => builder.error(ErrorMsg { msg: msg.clone() }), | 144 | &Event::Error { ref msg } => builder.error(msg.clone()), |
151 | } | 145 | } |
152 | } | 146 | } |
153 | } | 147 | } |
diff --git a/src/parser/mod.rs b/src/parser/mod.rs index 26fbb6e3d..b7d5e5832 100644 --- a/src/parser/mod.rs +++ b/src/parser/mod.rs | |||
@@ -7,7 +7,7 @@ mod grammar; | |||
7 | 7 | ||
8 | use std::sync::Arc; | 8 | use std::sync::Arc; |
9 | use { | 9 | use { |
10 | File, SyntaxKind, Token, | 10 | Token, |
11 | yellow::SyntaxNode, | 11 | yellow::SyntaxNode, |
12 | syntax_kinds::* | 12 | syntax_kinds::* |
13 | }; | 13 | }; |
@@ -16,18 +16,6 @@ use parser::event::process; | |||
16 | 16 | ||
17 | 17 | ||
18 | /// Parse a sequence of tokens into the representative node tree | 18 | /// Parse a sequence of tokens into the representative node tree |
19 | pub fn parse(text: String, tokens: &[Token]) -> File { | ||
20 | let events = { | ||
21 | let input = input::ParserInput::new(&text, tokens); | ||
22 | let parser_impl = parser::imp::ParserImpl::new(&input); | ||
23 | let mut parser = parser::Parser(parser_impl); | ||
24 | grammar::file(&mut parser); | ||
25 | parser.0.into_events() | ||
26 | }; | ||
27 | event::to_file(text, tokens, events) | ||
28 | } | ||
29 | |||
30 | /// Parse a sequence of tokens into the representative node tree | ||
31 | pub fn parse_green(text: String, tokens: &[Token]) -> SyntaxNode { | 19 | pub fn parse_green(text: String, tokens: &[Token]) -> SyntaxNode { |
32 | let events = { | 20 | let events = { |
33 | let input = input::ParserInput::new(&text, tokens); | 21 | let input = input::ParserInput::new(&text, tokens); |