finally add real logical operators

This commit is contained in:
2025-12-26 11:52:23 +01:00
parent 270386da95
commit db2e639cc8
16 changed files with 96 additions and 49 deletions

View File

@@ -17,6 +17,8 @@ pub enum TokenType {
Colon,
BitAnd,
BitOr,
LogicalAnd,
LogicalOr,
Pipe,
At,
DoubleDot,
@@ -173,10 +175,18 @@ impl Tokenizer {
self.add_token(TokenType::Slash)
}
}
'&' => self.add_token(TokenType::BitAnd),
'&' => {
if self.match_char('&') {
self.add_token(TokenType::LogicalAnd)
} else {
self.add_token(TokenType::BitAnd)
}
}
'|' => {
if self.match_char('>') {
self.add_token(TokenType::Pipe);
} else if self.match_char('|') {
self.add_token(TokenType::LogicalOr);
} else {
self.add_token(TokenType::BitOr);
}