Пример #1
0
 /// <summary>
 ///     範囲外エラーをログ出力
 /// </summary>
 /// <param name="categoryName">カテゴリ名</param>
 /// <param name="itemName">項目名</param>
 /// <param name="o">対象の値</param>
 /// <param name="lexer">字句解析器</param>
 public static void OutOfRange(string categoryName, string itemName, Object o, TextLexer lexer)
 {
     Warning("[{0}] Out of range: {1} at {2} ({3} L{4})",
             categoryName, ObjectHelper.ToString(o), itemName, lexer.FileName, lexer.LineNo);
 }
Пример #2
0
 /// <summary>
 ///     閉じ括弧忘れエラーをログ出力する
 /// </summary>
 /// <param name="categoryName">カテゴリ名</param>
 /// <param name="sectionName">セクション名</param>
 /// <param name="lexer">字句解析器</param>
 public static void MissingCloseBrace(string categoryName, string sectionName, TextLexer lexer)
 {
     Warning("[{0}] Missing close brace: {1} section ({2} L{3})", categoryName, sectionName, lexer.FileName,
             lexer.LineNo);
 }
Пример #3
0
 /// <summary>
 ///     セクション解析エラーをログ出力する
 /// </summary>
 /// <param name="categoryName">カテゴリ名</param>
 /// <param name="sectionName">セクション名</param>
 /// <param name="lexer">字句解析器</param>
 public static void InvalidSection(string categoryName, string sectionName, TextLexer lexer)
 {
     Warning("[{0}] Parse failed: {1} section ({2} L{3})", categoryName, sectionName, lexer.FileName,
             lexer.LineNo);
 }
Пример #4
0
 /// <summary>
 ///     クローズ解析エラーをログ出力する
 /// </summary>
 /// <param name="categoryName">カテゴリ名</param>
 /// <param name="clauseName">クローズ名</param>
 /// <param name="lexer">字句解析器</param>
 public static void InvalidClause(string categoryName, string clauseName, TextLexer lexer)
 {
     Warning("[{0}] Parse failed: {1} clause ({2} L{3})", categoryName, clauseName, lexer.FileName, lexer.LineNo);
 }
Пример #5
0
 /// <summary>
 ///     無効トークンエラーをログ出力する
 /// </summary>
 /// <param name="categoryName">カテゴリ名</param>
 /// <param name="token">トークン</param>
 /// <param name="lexer">字句解析器</param>
 public static void InvalidToken(string categoryName, Token token, TextLexer lexer)
 {
     Warning("[{0}] Invalid token: {1} ({2} L{3})",
             categoryName, ObjectHelper.ToString(token.Value), lexer.FileName, lexer.LineNo);
 }
Пример #6
0
    private static void TestTextLexer()
    {
        System.Console.WriteLine("/----------------------------------------------/");
        System.Console.WriteLine("Test TextLexer...");

        string s1 = "'fqqwe'";
        string s2 = "'fqw'ewewe'";
        string s3 = "eww'";
        string s4 = "''";
        string s5 = "'qwerew''";

        Lexer L1 = new TextLexer(s1);
        Lexer L2 = new TextLexer(s2);
        Lexer L3 = new TextLexer(s3);
        Lexer L4 = new TextLexer(s4);
        Lexer L5 = new TextLexer(s5);

        System.Console.WriteLine("Test for " + s1);
        try
        {
            L1.Parse();
        }
        catch (LexerException e)
        {
            System.Console.WriteLine(e.Message);
        }

        System.Console.WriteLine("Test for " + s2);
        try
        {
            L2.Parse();
        }
        catch (LexerException e)
        {
            System.Console.WriteLine(e.Message);
        }

        System.Console.WriteLine("Test for " + s3);
        try
        {
            L3.Parse();
        }
        catch (LexerException e)
        {
            System.Console.WriteLine(e.Message);
        }

        System.Console.WriteLine("Test for " + s4);
        try
        {
            L4.Parse();
        }
        catch (LexerException e)
        {
            System.Console.WriteLine(e.Message);
        }

        System.Console.WriteLine("Test for " + s5);
        try
        {
            L5.Parse();
        }
        catch (LexerException e)
        {
            System.Console.WriteLine(e.Message);
        }
        System.Console.WriteLine("/----------------------------------------------/\n\n");
    }