HexValue() static private method

static private HexValue ( int digit ) : int
digit int
return int
コード例 #1
0
        private static bool State22(FsmContext ctx)
        {
            int num  = 0;
            int num2 = 4096;

            ctx.L.unichar = 0;
            bool result;

            while (ctx.L.GetChar())
            {
                if ((ctx.L.input_char >= 48 && ctx.L.input_char <= 57) || (ctx.L.input_char >= 65 && ctx.L.input_char <= 70) || (ctx.L.input_char >= 97 && ctx.L.input_char <= 102))
                {
                    ctx.L.unichar += Lexer.HexValue(ctx.L.input_char) * num2;
                    num++;
                    num2 /= 16;
                    if (num != 4)
                    {
                        continue;
                    }
                    ctx.L.string_buffer.Append(Convert.ToChar(ctx.L.unichar));
                    ctx.NextState = ctx.StateStack;
                    result        = true;
                }
                else
                {
                    result = false;
                }
                return(result);
            }
            result = true;
            return(result);
        }
コード例 #2
0
ファイル: Lexer.cs プロジェクト: msruzy/digimon-linkz-client
        private static bool State22(FsmContext ctx)
        {
            int num  = 0;
            int num2 = 4096;

            ctx.L.unichar = 0;
            while (ctx.L.GetChar())
            {
                if ((ctx.L.input_char < 48 || ctx.L.input_char > 57) && (ctx.L.input_char < 65 || ctx.L.input_char > 70) && (ctx.L.input_char < 97 || ctx.L.input_char > 102))
                {
                    return(false);
                }
                ctx.L.unichar += Lexer.HexValue(ctx.L.input_char) * num2;
                num++;
                num2 /= 16;
                if (num == 4)
                {
                    ctx.L.string_buffer.Append(Convert.ToChar(ctx.L.unichar));
                    ctx.NextState = ctx.StateStack;
                    return(true);
                }
            }
            return(true);
        }