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(); }