コード例 #1
0
        public void CreateTypeTest()
        {
            StringReader sr = new StringReader(ResourceHelper.GetResourceString("CreateType"));
            SQLMake.Util.Settings.loadSettings();

            SQLPlusScanner scanner;
            scanner = new SQLPlusScanner(sr, "CreateType");
            Assert.AreEqual("CREATE", scanner.get());
            Assert.AreEqual("TYPE", scanner.get());
            Assert.AreEqual("TEST", scanner.get());
            Assert.AreEqual("AS", scanner.get());
            Assert.AreEqual("OBJECT", scanner.get());
            Assert.AreEqual("(", scanner.get());
            Assert.AreEqual("A", scanner.get());
            Assert.AreEqual("NUMBER", scanner.get());
            Assert.AreEqual("(", scanner.get());
            Assert.AreEqual("1", scanner.get());
            Assert.AreEqual(")", scanner.get());
            Assert.AreEqual(")", scanner.get());

            try { scanner.get(); Assert.Fail(); }
            catch (EOBException)
            {
                Assert.AreEqual(CommandTypes.Sql, scanner.currCommand.cmdType);
                Assert.AreEqual("TYPE", scanner.currCommand.cmdName);
                Assert.AreEqual("CREATE", scanner.currCommand.action);
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: chadclan/sqlmake
 static void RunScanner(string fileName)
 {
     StreamReader r = new StreamReader(fileName, Encoding.GetEncoding(Settings.getEncoding(false)));
      SQLPlusScanner scanner = new SQLPlusScanner(r, fileName);
      while (true)
      {
          try
          {
              scanner.get();
              Console.WriteLine("Line [" + (scanner.tokenStartLineIndex + 1) + "," + (scanner.currLineIndex + 1) + "] Col [" + (scanner.tokenStartColIndex + 1) + "," + scanner.currColIndex + "] " + scanner.tokenType + ":" + scanner.token);
          }
          catch (EOBException)
          {
              if (scanner.tokenType != TokenTypes.NotAvailable)
              {
                  Console.WriteLine("Line [" + (scanner.tokenStartLineIndex + 1) + "," + (scanner.currLineIndex + 1) + "] Col [" + (scanner.tokenStartColIndex + 1) + "," + scanner.currColIndex + "] " + scanner.tokenType + ":" + scanner.token);
              }
              Console.WriteLine("* {0} * {1} * {2} * {3} * {4} * {5} *", scanner.getModeDesc(), scanner.currCommand.action, scanner.currCommand.cmdName, scanner.currCommand.objectName, scanner.currCommand.secondaryCmdName, scanner.currCommand.secondaryObjectName);
              Console.WriteLine(scanner.currBlockText.ToString().Trim());
              Console.WriteLine("*** EOB ***\n");
              scanner.resetBlockType();
          }
          catch (EOFException)
          {
              if (scanner.tokenType != TokenTypes.NotAvailable)
              {
                  Console.WriteLine("Line [" + (scanner.tokenStartLineIndex + 1) + "," + (scanner.currLineIndex + 1) + "] Col [" + (scanner.tokenStartColIndex + 1) + "," + scanner.currColIndex + "] " + scanner.tokenType + ":" + scanner.token);
              }
              if (scanner.tokenType != TokenTypes.NotAvailable)
              {
                  Console.WriteLine("* {0} * {1} * {2} * {3} * {4} * {5} *", scanner.getModeDesc(), scanner.currCommand.action, scanner.currCommand.cmdName, scanner.currCommand.objectName, scanner.currCommand.secondaryCmdName, scanner.currCommand.secondaryObjectName);
              }
              else
              {
                  Console.WriteLine("*** EOF ***");
              }
              break;
          }
      }
 }