(translation_unit: &TranslationUnit)
| 12 | lalrpop_mod!(grammar, "/parser/grammar.rs"); |
| 13 | |
| 14 | pub fn parse(translation_unit: &TranslationUnit) -> Result<Sprite, Diagnostic> { |
| 15 | let mut tokens = vec![]; |
| 16 | for token in adaptor::Lexer::new(translation_unit.get_text()) { |
| 17 | let token = token?; |
| 18 | tokens.push(token); |
| 19 | } |
| 20 | PreProcessor::apply(&mut tokens)?; |
| 21 | let parser = SpriteParser::new(); |
| 22 | let mut sprite = Sprite::default(); |
| 23 | parser.parse(&mut sprite, tokens)?; |
| 24 | Ok(sprite) |
| 25 | } |