package core import ( "git.akyoto.dev/cli/q/src/build/ast" "git.akyoto.dev/cli/q/src/build/errors" ) // CompileAssign compiles an assign statement. func (f *Function) CompileAssign(node *ast.Assign) error { name := node.Name.Text() variable, exists := f.variables[name] if !exists { return errors.New(&errors.UnknownIdentifier{Name: name}, f.File, node.Name.Position) } defer f.useVariable(variable) return f.Execute(node.Operator, variable.Register, node.Value) }