Use int instead of int64
This commit is contained in:
6
a1.gi
6
a1.gi
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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
|
||||
}
|
||||
|
||||
@@ -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) {}
|
||||
|
||||
Reference in New Issue
Block a user