Esempio n. 1
0
        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}\".");
            }
        }