retrofit call functions for new eval alg

This commit is contained in:
Aidan 2020-06-29 19:15:00 -07:00
parent ea99142b3a
commit 2ae1145a50
No known key found for this signature in database
GPG key ID: 327711E983899316
9 changed files with 384 additions and 25 deletions

View file

@ -24,7 +24,7 @@ import (
)
func not(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
in = in.Eval(ft, vt)
in = in.Eval(ft, vt, false)
if in.Tag != ast.BOOL {
log.Log(log.ERR, "non-bool argument to 'not'", "not")
@ -45,8 +45,7 @@ func eq(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
out := "T"
second := in.Next
in = in.Eval(ft, vt)
second = second.Eval(ft, vt)
in = in.Eval(ft, vt, false)
if in.Tag != second.Tag {
out = "F"
@ -128,8 +127,7 @@ func lt(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
out := "T"
second := in.Next
in = in.Eval(ft, vt)
second = second.Eval(ft, vt)
in = in.Eval(ft, vt, false)
if in.Tag != ast.NUMBER || second.Tag != ast.NUMBER {
log.Log(log.ERR, "non-number argument to numeric boolean operator", ">/<=")
@ -152,8 +150,7 @@ func gt(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
out := "T"
second := in.Next
in = in.Eval(ft, vt)
second = second.Eval(ft, vt)
in = in.Eval(ft, vt, false)
if in.Tag != ast.NUMBER || second.Tag != ast.NUMBER {
log.Log(log.ERR, "non-number argument to numeric boolean operator", ">/<=")