• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

C# LitJson.FsmContext类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

本文整理汇总了C#中LitJson.FsmContext的典型用法代码示例。如果您正苦于以下问题:C# FsmContext类的具体用法?C# FsmContext怎么用?C# FsmContext使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。



FsmContext类属于LitJson命名空间,在下文中一共展示了FsmContext类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。

示例1: Lexer

        public Lexer(TextReader
reader)
        {
            allow_comments
            =
            true;
            allow_single_quoted_strings
            =
            true;
            input_buffer
            =
            0;
            string_buffer
            =
            new
            StringBuilder
            (128);
            state
            =
            1;
            end_of_input
            =
            false;
            this.reader
            =
            reader;
            fsm_context
            =
            new
            FsmContext
            ();
            fsm_context.L
            =
            this;
        }
开发者ID:robertmichaelwalsh,项目名称:CSharpFrontEnd,代码行数:35,代码来源:testStringFull.cs


示例2: Lexer

        public Lexer(TextReader reader)
        {
            _allowComments = true;
            _allowSingleQuotedStrings = true;

            _inputBuffer = 0;
            _stringBuffer = new StringBuilder (128);
            _state = 1;
            _endOfInput = false;
            _reader = reader;

            _fsmContext = new FsmContext {L = this};
        }
开发者ID:galievruslan,项目名称:mss-mobile,代码行数:13,代码来源:Lexer.cs


示例3: Lexer

	public Lexer(TextReader reader) {
		AllowComments = true;
		AllowSingleQuotedStrings = true;

		inputBuffer = 0;
		stringBuffer = new StringBuilder(128);
		state = 1;
		EndOfInput = false;
		this.reader = reader;

		context = new FsmContext();
		context.L = this;
	}
开发者ID:lasagnaphil,项目名称:sugang-tutorial,代码行数:13,代码来源:Lexer.cs


示例4: State1

        private static bool State1(FsmContext ctx)
        {
            while (ctx.L.GetChar ()) {
                if (ctx.L.input_char == ' ' ||
                    ctx.L.input_char >= '\t' && ctx.L.input_char <= '\r')
                    continue;

                if (ctx.L.input_char >= '1' && ctx.L.input_char <= '9') {
                    ctx.L.string_buffer.Append ((char) ctx.L.input_char);
                    ctx.NextState = 3;
                    return true;
                }

                switch (ctx.L.input_char) {
                case '"':
                    ctx.NextState = 19;
                    ctx.Return = true;
                    return true;

                case ',':
                case ':':
                case '[':
                case ']':
                case '{':
                case '}':
                    ctx.NextState = 1;
                    ctx.Return = true;
                    return true;

                case '-':
                    ctx.L.string_buffer.Append ((char) ctx.L.input_char);
                    ctx.NextState = 2;
                    return true;

                case '0':
                    ctx.L.string_buffer.Append ((char) ctx.L.input_char);
                    ctx.NextState = 4;
                    return true;

                case 'f':
                    ctx.NextState = 12;
                    return true;

                case 'n':
                    ctx.NextState = 16;
                    return true;

                case 't':
                    ctx.NextState = 9;
                    return true;

                case '\'':
                    if (! ctx.L.allow_single_quoted_strings)
                        return false;

                    ctx.L.input_char = '"';
                    ctx.NextState = 23;
                    ctx.Return = true;
                    return true;

                case '/':
                    if (! ctx.L.allow_comments)
                        return false;

                    ctx.NextState = 25;
                    return true;

                default:
                    return false;
                }
            }

            return true;
        }
开发者ID:devlead,项目名称:litjson,代码行数:74,代码来源:Lexer.cs


示例5: State26

        static bool State26(FsmContext ctx)
        {
            while (ctx.L.GetChar())
            {
                if (ctx.L.input_char == '\n')
                {
                    ctx.NextState = 1;
                    return true;
                }
            }

            return true;
        }
开发者ID:TerrariaPrismTeam,项目名称:Prism,代码行数:13,代码来源:Lexer.cs


示例6: State23

 private static bool State23(FsmContext ctx)
 {
     while (ctx.L.GetChar())
     {
         int num = ctx.L.input_char;
         if (num == 39)
         {
             ctx.L.UngetChar();
             ctx.Return = true;
             ctx.NextState = 24;
             return true;
         }
         if (num == 92)
         {
             ctx.StateStack = 23;
             ctx.NextState = 21;
             return true;
         }
         ctx.L.string_buffer.Append((char)ctx.L.input_char);
     }
     return true;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:22,代码来源:Lexer.cs


示例7: State25

 private static bool State25(FsmContext ctx)
 {
     ctx.L.GetChar();
     int num = ctx.L.input_char;
     if (num == 42)
     {
         ctx.NextState = 27;
         return true;
     }
     if (num != 47)
     {
         return false;
     }
     ctx.NextState = 26;
     return true;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:16,代码来源:Lexer.cs


示例8: State28

        private static bool State28(FsmContext ctx)
        {
            while (ctx.L.GetChar ()) {
                if (ctx.L.input_char == '*')
                    continue;

                if (ctx.L.input_char == '/') {
                    ctx.NextState = 1;
                    return true;
                }

                ctx.NextState = 27;
                return true;
            }

            return true;
        }
开发者ID:devlead,项目名称:litjson,代码行数:17,代码来源:Lexer.cs


示例9: State25

        private static bool State25(FsmContext ctx)
        {
            ctx.L.GetChar ();

            switch (ctx.L.input_char) {
            case '*':
                ctx.NextState = 27;
                return true;

            case '/':
                ctx.NextState = 26;
                return true;

            default:
                return false;
            }
        }
开发者ID:devlead,项目名称:litjson,代码行数:17,代码来源:Lexer.cs


示例10: State23

        private static bool State23(FsmContext ctx)
        {
            while (ctx.L.GetChar ()) {
                switch (ctx.L.input_char) {
                case '\'':
                    ctx.L.UngetChar ();
                    ctx.Return = true;
                    ctx.NextState = 24;
                    return true;

                case '\\':
                    ctx.StateStack = 23;
                    ctx.NextState = 21;
                    return true;

                default:
                    ctx.L.string_buffer.Append ((char) ctx.L.input_char);
                    continue;
                }
            }

            return true;
        }
开发者ID:devlead,项目名称:litjson,代码行数:23,代码来源:Lexer.cs


示例11: State9

 private static bool State9(FsmContext ctx)
 {
     ctx.L.GetChar();
     int num = ctx.L.input_char;
     if (num != 114)
     {
         return false;
     }
     ctx.NextState = 10;
     return true;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:11,代码来源:Lexer.cs


示例12: State7

 private static bool State7(FsmContext ctx)
 {
     ctx.L.GetChar();
     if (ctx.L.input_char >= 48 && ctx.L.input_char <= 57)
     {
         ctx.L.string_buffer.Append((char)ctx.L.input_char);
         ctx.NextState = 8;
         return true;
     }
     switch (ctx.L.input_char)
     {
     case 43:
     case 45:
         ctx.L.string_buffer.Append((char)ctx.L.input_char);
         ctx.NextState = 8;
         return true;
     }
     return false;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:19,代码来源:Lexer.cs


示例13: State8

 private static bool State8(FsmContext ctx)
 {
     while (ctx.L.GetChar())
     {
         if (ctx.L.input_char >= 48 && ctx.L.input_char <= 57)
         {
             ctx.L.string_buffer.Append((char)ctx.L.input_char);
         }
         else
         {
             if (ctx.L.input_char == 32 || (ctx.L.input_char >= 9 && ctx.L.input_char <= 13))
             {
                 ctx.Return = true;
                 ctx.NextState = 1;
                 return true;
             }
             int num = ctx.L.input_char;
             if (num != 44 && num != 93 && num != 125)
             {
                 return false;
             }
             ctx.L.UngetChar();
             ctx.Return = true;
             ctx.NextState = 1;
             return true;
         }
     }
     return true;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:29,代码来源:Lexer.cs


示例14: State6

 private static bool State6(FsmContext ctx)
 {
     while (ctx.L.GetChar())
     {
         if (ctx.L.input_char >= 48 && ctx.L.input_char <= 57)
         {
             ctx.L.string_buffer.Append((char)ctx.L.input_char);
         }
         else
         {
             if (ctx.L.input_char == 32 || (ctx.L.input_char >= 9 && ctx.L.input_char <= 13))
             {
                 ctx.Return = true;
                 ctx.NextState = 1;
                 return true;
             }
             int num = ctx.L.input_char;
             if (num != 44)
             {
                 if (num != 69)
                 {
                     if (num == 93)
                     {
                         goto IL_CA;
                     }
                     if (num != 101)
                     {
                         if (num != 125)
                         {
                             return false;
                         }
                         goto IL_CA;
                     }
                 }
                 ctx.L.string_buffer.Append((char)ctx.L.input_char);
                 ctx.NextState = 7;
                 return true;
             }
             IL_CA:
             ctx.L.UngetChar();
             ctx.Return = true;
             ctx.NextState = 1;
             return true;
         }
     }
     return true;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:47,代码来源:Lexer.cs


示例15: State4

 private static bool State4(FsmContext ctx)
 {
     ctx.L.GetChar();
     if (ctx.L.input_char == 32 || (ctx.L.input_char >= 9 && ctx.L.input_char <= 13))
     {
         ctx.Return = true;
         ctx.NextState = 1;
         return true;
     }
     int num = ctx.L.input_char;
     switch (num)
     {
     case 44:
         goto IL_98;
     case 45:
         IL_73:
         if (num != 69)
         {
             if (num == 93)
             {
                 goto IL_98;
             }
             if (num != 101)
             {
                 if (num != 125)
                 {
                     return false;
                 }
                 goto IL_98;
             }
         }
         ctx.L.string_buffer.Append((char)ctx.L.input_char);
         ctx.NextState = 7;
         return true;
     case 46:
         ctx.L.string_buffer.Append((char)ctx.L.input_char);
         ctx.NextState = 5;
         return true;
     }
     goto IL_73;
     IL_98:
     ctx.L.UngetChar();
     ctx.Return = true;
     ctx.NextState = 1;
     return true;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:46,代码来源:Lexer.cs


示例16: State28

 private static bool State28(FsmContext ctx)
 {
     while (ctx.L.GetChar())
     {
         if (ctx.L.input_char != 42)
         {
             if (ctx.L.input_char == 47)
             {
                 ctx.NextState = 1;
                 return true;
             }
             ctx.NextState = 27;
             return true;
         }
     }
     return true;
 }
开发者ID:floatyears,项目名称:Decrypt,代码行数:17,代码来源:Lexer.cs


示例17: State21

        private static bool State21(FsmContext ctx)
        {
            ctx.L.GetChar ();

            switch (ctx.L.input_char) {
            case 'u':
                ctx.NextState = 22;
                return true;

            case '"':
            case '\'':
            case '/':
            case '\\':
            case 'b':
            case 'f':
            case 'n':
            case 'r':
            case 't':
                ctx.L.string_buffer.Append (
                    ProcessEscChar (ctx.L.input_char));
                ctx.NextState = ctx.StateStack;
                return true;

            default:
                return false;
            }
        }
开发者ID:devlead,项目名称:litjson,代码行数:27,代码来源:Lexer.cs


示例18: State18

        private static bool State18(FsmContext ctx)
        {
            ctx.L.GetChar ();

            switch (ctx.L._inputChar) {
            case 'l':
                ctx.Return = true;
                ctx.NextState = 1;
                return true;

            default:
                return false;
            }
        }
开发者ID:galievruslan,项目名称:mss-mobile,代码行数:14,代码来源:Lexer.cs


示例19: State22

        private static bool State22(FsmContext ctx)
        {
            int counter = 0;
            int mult    = 4096;

            ctx.L.unichar = 0;

            while (ctx.L.GetChar ()) {

                if (ctx.L.input_char >= '0' && ctx.L.input_char <= '9' ||
                    ctx.L.input_char >= 'A' && ctx.L.input_char <= 'F' ||
                    ctx.L.input_char >= 'a' && ctx.L.input_char <= 'f') {

                    ctx.L.unichar += HexValue (ctx.L.input_char) * mult;

                    counter++;
                    mult /= 16;

                    if (counter == 4) {
                        ctx.L.string_buffer.Append (
                            Convert.ToChar (ctx.L.unichar));
                        ctx.NextState = ctx.StateStack;
                        return true;
                    }

                    continue;
                }

                return false;
            }

            return true;
        }
开发者ID:devlead,项目名称:litjson,代码行数:33,代码来源:Lexer.cs


示例20: State19

        private static bool State19(FsmContext ctx)
        {
            while (ctx.L.GetChar ()) {
                switch (ctx.L._inputChar) {
                case '"':
                    ctx.L.UngetChar ();
                    ctx.Return = true;
                    ctx.NextState = 20;
                    return true;

                case '\\':
                    ctx.StateStack = 19;
                    ctx.NextState = 21;
                    return true;

                default:
                    ctx.L._stringBuffer.Append ((char) ctx.L._inputChar);
                    continue;
                }
            }

            return true;
        }
开发者ID:galievruslan,项目名称:mss-mobile,代码行数:23,代码来源:Lexer.cs



注:本文中的LitJson.FsmContext类示例由纯净天空整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
C# LitJson.JsonData类代码示例发布时间:2022-05-26
下一篇:
C# RAF.LoginGateway类代码示例发布时间:2022-05-26
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap