(&mut self)
| 27 | } |
| 28 | |
| 29 | pub fn parse_program(&mut self) -> Program { |
| 30 | let mut statements: Vec<Statement> = vec![]; |
| 31 | while self.current_token != Token::Eof { |
| 32 | let stmt: Option<Statement> = self.parse_statement(); |
| 33 | if stmt != None { |
| 34 | statements.push(stmt.unwrap()); |
| 35 | }; |
| 36 | self.next_token(); |
| 37 | } |
| 38 | Program { statements } |
| 39 | } |
| 40 | |
| 41 | pub fn parse_statement(&mut self) -> Option<Statement> { |
| 42 | match self.current_token { |
no test coverage detected