Interpreter - Run programs.

This commit is contained in:
Emmanuel BENOîT 2022-12-31 15:19:41 +01:00
parent bf11a2b63a
commit 14aef73d93
2 changed files with 39 additions and 0 deletions

View file

@ -75,9 +75,11 @@ impl Parser {
fn parse_statement(&mut self) -> Result<ast::StmtNode, ParserError> {
if self.expect(&[TokenType::Print]).is_some() {
let expression = self.parse_expression()?;
self.consume(&TokenType::Semicolon, "expected ';' after value")?;
Ok(ast::StmtNode::Print(expression))
} else {
let expression = self.parse_expression()?;
self.consume(&TokenType::Semicolon, "expected ';' after expression")?;
Ok(ast::StmtNode::Expression(expression))
}
}