Implemented variable scopes

This commit is contained in:
Eduard Urbach 2024-07-15 16:51:36 +02:00
parent 96078f40d8
commit 1bf288b8fd
Signed by: eduard
GPG key ID: 49226B848C78F6C8
13 changed files with 81 additions and 26 deletions

View file

@ -8,9 +8,9 @@ import (
// CompileAssign compiles an assign statement.
func (f *Function) CompileAssign(node *ast.Assign) error {
name := node.Name.Text()
variable, exists := f.variables[name]
variable := f.Variable(name)
if !exists {
if variable == nil {
return errors.New(&errors.UnknownIdentifier{Name: name}, f.File, node.Name.Position)
}