private Ast.Stmt ParseSetStmt(TokenQueue q) { var stmt = new Ast.SetStmt { SourceToken = q.SourceToken }; q.Take("set"); ParseAssignmentStmtCore(q, stmt); return(stmt); }
private void ExecuteSetStmt(Ast.SetStmt stmt, ScriptEnv env) { var name = stmt.VariableName.ToLower(); if (env.Vars.ContainsKey(name)) { env.Vars[name] = EvaluateExpr(stmt.InitialValue, env); } else { throw new ScriptException($"Attempted to SET the undeclared variable \"{stmt.VariableName}\"."); } }