Implemented constant folding
This commit is contained in:
parent
315ad23e31
commit
67c7d1ec99
8 changed files with 118 additions and 1 deletions
|
@ -10,6 +10,11 @@ import (
|
|||
|
||||
// ExpressionToRegister puts the result of an expression into the specified register.
|
||||
func (f *Function) ExpressionToRegister(node *expression.Expression, register cpu.Register) error {
|
||||
if node.IsFolded {
|
||||
f.RegisterNumber(asm.MOVE, register, node.Value)
|
||||
return nil
|
||||
}
|
||||
|
||||
if node.IsLeaf() {
|
||||
return f.TokenToRegister(node.Token, register)
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue