Added the tilde '~' operator acting as NOT

This commit is contained in:
2024-03-28 06:25:29 +01:00
parent 998580772a
commit 9fa3d9fcb2
3 changed files with 30 additions and 26 deletions
+4 -1
View File
@@ -38,6 +38,7 @@ func DefaultTranslations() map[Symbol]Symbol {
SymKwAnd: SymAnd,
SymDoubleVertBar: SymOr,
SymKwOr: SymOr,
SymTilde: SymNot,
SymKwNot: SymNot,
SymLessGreater: SymNotEqual,
}
@@ -220,6 +221,8 @@ func (self *scanner) fetchNextToken() (tk *Token) {
tk = self.makeToken(SymOpenBrace, ch)
case '}':
tk = self.makeToken(SymClosedBrace, ch)
case '~':
tk = self.makeToken(SymTilde, ch)
case 0:
if escape {
tk = self.makeErrorToken(errors.New("incomplete escape sequence"))
@@ -334,7 +337,7 @@ func (self *scanner) fetchIdentifier(firstCh byte) (tk *Token) {
tk = self.makeValueToken(SymBool, txt, false)
} else if ch, _ := self.peek(); ch == '(' {
self.readChar()
tk = self.makeValueToken(SymFunction, txt+"(", uptxt)
tk = self.makeValueToken(SymFunction, txt+"(", txt)
} else {
tk = self.makeValueToken(SymIdentifier, txt, txt)
}