-
Notifications
You must be signed in to change notification settings - Fork 1
Open
Labels
enhancementNew feature or requestNew feature or request
Description
Add unary operators like:
- Double vertical bar
|x|
, e.g. for getting the length of an array or the positive value of a number - Unary minus, e.g.
-5
May be added here as a primary expression:
fortytwo-lang/src/parser/mod.rs
Lines 634 to 641 in d1d81e1
fn parse_primary_expression(&mut self) -> miette::Result<Expression> { | |
match self.tokens.peek() { | |
Some(Token { data: TokenKind::Identifier(_), .. }) => self.parse_identifier_expression(), | |
Some(Token { data: TokenKind::Number(_), .. }) => Ok(Expression::Number(self.parse_number()?)), | |
Some(Token { data: TokenKind::OpeningParentheses, .. }) => self.parse_parentheses(), | |
Some(Token { data: TokenKind::If, .. }) => Ok(Expression::IfElse(Box::new(self.parse_if_expression()?))), | |
Some(Token { data: TokenKind::For, .. }) => Ok(Expression::ForLoop(Box::new(self.parse_for_expression()?))), | |
other => { |
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request