use constants for True and False instead of tokens

This commit is contained in:
Aidan 2020-06-30 20:36:45 -07:00
parent a216d9af41
commit 53adeacc6d
No known key found for this signature in database
GPG key ID: 327711E983899316
5 changed files with 25 additions and 19 deletions

View file

@ -31,9 +31,9 @@ func not(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
return nil
}
out := "T"
if in.Value() == "T" {
out = "F"
out := ast.TRUE
if in.Value() == ast.TRUE {
out = ast.FALSE
}
t := &ast.Token{Tag: ast.BOOL}
@ -42,13 +42,13 @@ func not(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
}
func eq(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
out := "T"
out := ast.TRUE
second := in.Next
in = in.Eval(ft, vt, false)
if in.Tag != second.Tag {
out = "F"
out = ast.FALSE
} else {
switch in.Tag {
case ast.LIST:
@ -94,12 +94,12 @@ func eq(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
}
if consume_list(in.Expand(), second.Expand()) {
out = "F"
out = ast.FALSE
}
case ast.STRING, ast.BOOL:
if in.Value() != second.Value() {
out = "F"
out = ast.FALSE
}
case ast.NUMBER:
@ -113,7 +113,7 @@ func eq(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
}
if l_val != r_val {
out = "F"
out = ast.FALSE
}
}
}
@ -124,7 +124,7 @@ func eq(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
}
func lt(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
out := "T"
out := ast.TRUE
second := in.Next
in = in.Eval(ft, vt, false)
@ -138,7 +138,7 @@ func lt(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
r, _ := strconv.ParseInt(second.Value(), 10, 64)
if l >= r {
out = "F"
out = ast.FALSE
}
t := &ast.Token{Tag: ast.BOOL}
@ -147,7 +147,7 @@ func lt(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
}
func gt(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
out := "T"
out := ast.TRUE
second := in.Next
in = in.Eval(ft, vt, false)
@ -161,7 +161,7 @@ func gt(in *ast.Token, vt ast.VarTable, ft ast.FuncTable) *ast.Token {
r, _ := strconv.ParseInt(second.Value(), 10, 64)
if l <= r {
out = "F"
out = ast.FALSE
}
t := &ast.Token{Tag: ast.BOOL}