public static void SetInputQueries(Statement rootStatement)
        {
            inputQueries = rootStatement;

            Scanner sc = new Scanner();

            sc.Scan(inputQueries);
            numInQueries = StatusReporter.GetCount();

            //First statement can be StartSQLStatement
            if (numInQueries > 1)
            {
                --numInQueries;
            }
        }
        /// <summary>
        /// Translate input statements. Returns output statement.
        /// </summary>
        /// <param name="statements"></param>
        /// <param name="infoWriter"></param>
        /// <param name="statementsCount"></param>
        /// <param name="translatedStatement"></param>
        void TranslateStatements(IList <Statement> statements, TextWriter infoWriter, out Statement translatedStatement)
        {
            Modifier       md            = new Modifier();
            BlockStatement RootStatement = WrapInputStatements(statements, md);

            StatusReporter.SetStage(ResStr.MSG_SCAN_INPUT_STATEMENTS, string.Empty);
            StatusReporter.SetInputQueries(RootStatement);
            StatusReporter.Message("       " + ResStr.MSG_INPUT_STATEMENTS_FOUND + StatusReporter.InputQueriesCount);

            StatusReporter.SetStage(ResStr.MSG_CONVERSION_STAGE, ResStr.MSG_CONVERSION_STEP);

            md.Scan(RootStatement);
            Statement translated = md.Statement;

            StatusReporter.SetOutputQueries(translated, StatusReporter.GetCount());

            CaseFixStatements(translated, infoWriter);
            translatedStatement = translated;

            StatusReporter.Message("\n\n" + ResStr.MSG_DIFFERENT_STATEMENTS_COUNT);
            StatusReporter.Finish();
        }