Implemented Value interface
This commit is contained in:
parent
fbcadae268
commit
9cfca57111
36 changed files with 194 additions and 153 deletions
|
@ -17,7 +17,7 @@ func (f *Function) ExpressionToMemory(node *expression.Expression, memory asm.Me
|
|||
return nil, err
|
||||
}
|
||||
|
||||
switch value.Kind {
|
||||
switch value := value.(type) {
|
||||
case eval.Number:
|
||||
f.MemoryNumber(asm.STORE, memory, value.Number)
|
||||
case eval.Register:
|
||||
|
@ -31,8 +31,8 @@ func (f *Function) ExpressionToMemory(node *expression.Expression, memory asm.Me
|
|||
case eval.Label:
|
||||
f.MemoryLabel(asm.STORE, memory, value.Label)
|
||||
default:
|
||||
panic(fmt.Errorf("%s: not implemented: %d", f.UniqueName, value.Kind))
|
||||
panic(fmt.Errorf("%s: not implemented: %v", f.UniqueName, value))
|
||||
}
|
||||
|
||||
return value.Type, err
|
||||
return value.Type(), err
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue