package build import ( "git.akyoto.dev/cli/q/src/build/expression" "git.akyoto.dev/cli/q/src/build/token" ) // CompileReturn compiles a return instruction. func (f *Function) CompileReturn(tokens token.List) error { defer f.assembler.Return() if len(tokens) == 1 { return nil } value := expression.Parse(tokens[1:]) if value == nil { return nil } defer value.Close() return f.ExpressionToRegister(value, f.cpu.Return[0]) }