Example #1
0
        private Ast.Stmt ParsePrintStmt(TokenQueue q)
        {
            var stmt = new Ast.PrintStmt {
                SourceToken = q.SourceToken
            };

            q.Take("print");
            stmt.Value = ParseExpr(q);
            ConsumeSemicolon(q);
            return(stmt);
        }
        private void ExecutePrintStmt(Ast.PrintStmt stmt, ScriptEnv env)
        {
            var value = EvaluateExpr(stmt.Value, env);

            var byteArray = value as byte[];

            if (byteArray != null)
            {
                if (ArrayUtil.IsSqlArray(byteArray))
                {
                    env.Output.TextOutput.Add(
                        "[" + string.Join(", ", ArrayUtil.GetArrayElements(byteArray)) + "]"
                        );
                    return;
                }
            }

            env.Output.TextOutput.Add(value.ToString());
        }