Implemented unary operator parsing

This commit is contained in:
Eduard Urbach 2024-07-27 12:49:39 +02:00
parent 86e7ade051
commit 093bd79c82
Signed by: eduard
GPG key ID: 49226B848C78F6C8
8 changed files with 142 additions and 16 deletions

View file

@ -117,7 +117,11 @@ func Parse(tokens []token.Token) *Expression {
newPrecedence := node.Precedence
if newPrecedence > oldPrecedence {
cursor.LastChild().Replace(node)
if len(cursor.Children) == numOperands(cursor.Token.Kind) {
cursor.LastChild().Replace(node)
} else {
cursor.AddChild(node)
}
} else {
start := cursor