Use int instead of int64

This commit is contained in:
Marc Vertes
2018-02-15 23:15:55 +01:00
parent 02274e23e8
commit 3aa38a2908
3 changed files with 12 additions and 12 deletions

6
a1.gi
View File

@@ -5,8 +5,8 @@ func main() {
println(a[1]) // 2
for i, v := range a {
println(v)
//if i == 3 {
// break
//}
if i == 3 {
break
}
}
}

View File

@@ -233,7 +233,7 @@ func (e *Node) Cfg(i *Interpreter) int {
n.isConst = true
// FIXME: values must be converted to int or float if possible
if v, err := strconv.ParseInt(a.Value, 0, 0); err == nil {
n.val = v
n.val = int(v)
} else {
n.val = a.Value
}

View File

@@ -63,7 +63,7 @@ func assign(n *Node, f *Frame) {
}
func and(n *Node, f *Frame) {
(*f)[n.findex] = value(n.Child[0], f).(int64) & value(n.Child[1], f).(int64)
(*f)[n.findex] = value(n.Child[0], f).(int) & value(n.Child[1], f).(int)
}
func printa(n []*Node, f *Frame) {
@@ -98,31 +98,31 @@ func (interp *Interpreter) call(n *Node, f *Frame) {
func getIndex(n *Node, f *Frame) {
a := value(n.Child[0], f).([]interface{})
(*f)[n.findex] = a[value(n.Child[1], f).(int64)]
(*f)[n.findex] = a[value(n.Child[1], f).(int)]
}
func add(n *Node, f *Frame) {
(*f)[n.findex] = value(n.Child[0], f).(int64) + value(n.Child[1], f).(int64)
(*f)[n.findex] = value(n.Child[0], f).(int) + value(n.Child[1], f).(int)
}
func sub(n *Node, f *Frame) {
(*f)[n.findex] = value(n.Child[0], f).(int64) - value(n.Child[1], f).(int64)
(*f)[n.findex] = value(n.Child[0], f).(int) - value(n.Child[1], f).(int)
}
func equal(n *Node, f *Frame) {
(*f)[n.findex] = value(n.Child[0], f).(int64) == value(n.Child[1], f).(int64)
(*f)[n.findex] = value(n.Child[0], f).(int) == value(n.Child[1], f).(int)
}
func inc(n *Node, f *Frame) {
(*f)[n.findex] = value(n.Child[0], f).(int64) + 1
(*f)[n.findex] = value(n.Child[0], f).(int) + 1
}
func greater(n *Node, f *Frame) {
(*f)[n.findex] = value(n.Child[0], f).(int64) > value(n.Child[1], f).(int64)
(*f)[n.findex] = value(n.Child[0], f).(int) > value(n.Child[1], f).(int)
}
func lower(n *Node, f *Frame) {
(*f)[n.findex] = value(n.Child[0], f).(int64) < value(n.Child[1], f).(int64)
(*f)[n.findex] = value(n.Child[0], f).(int) < value(n.Child[1], f).(int)
}
func nop(n *Node, f *Frame) {}