private static bool DoNone(ref StateContext context)
        {
            if (context.IsWhitespace())
            {
                return(true);
            }

            switch (context.Character)
            {
            case '*':
                context.State = State.Asterisk;
                return(true);

            case '!':
                context.State = State.Exclude;
                return(true);

            case '}':
                return(context.Pop() != null);

            case ',':
                return(true);

            default:
                if (context.IsLetterOrUnderscore())
                {
                    context.Accept();
                    context.State = State.Include;
                    return(true);
                }

                context.OnError($"SyntaxError: Contains the illegal character '{context.Character}' in the data schema.");
                return(false);
            }
        }
Exemplo n.º 2
0
        private static bool DoMethod(ref StateContext context, int position)
        {
            if (context.IsWhitespace())
            {
                return(true);
            }

            if (context.Character == '\'' || context.Character == '\"')
            {
                context.State = State.String;
                context.Flags.SetConstantType(TypeCode.String);
                context.Flags.SetStringQuote(context.Character);
                return(true);
            }

            if (context.Character >= '0' && context.Character <= '9')
            {
                context.State = State.Number;
                context.Flags.SetConstantType(TypeCode.Int32);
                context.Accept();
                return(true);
            }

            if (context.IsLetterOrUnderscore())
            {
                context.State = State.Identifier;
                context.Accept();
                return(true);
            }

            if (context.Character == '[')
            {
                context.AppendIndexer();
                return(true);
            }

            if (context.Character == ')')
            {
                context.Stack.Pop();
                context.ResetState();
                return(true);
            }

            context.OnError(GetIllegalCharacterExceptionMessage(context.Character, position));
            return(false);
        }
Exemplo n.º 3
0
        private static bool DoSeparator(ref StateContext context, int position)
        {
            if (context.IsWhitespace())
            {
                return(true);
            }

            if (context.IsLetterOrUnderscore())
            {
                context.State = State.Identifier;
                context.Accept();
                return(true);
            }

            context.OnError(GetIllegalCharacterExceptionMessage(context.Character, position));
            return(false);
        }
        private static bool DoSortingGutter(ref StateContext context)
        {
            if (context.IsWhitespace())
            {
                return(true);
            }

            if (context.IsLetterOrUnderscore())
            {
                context.Accept();
                context.State = State.SortingField;
                return(true);
            }

            context.OnError($"SyntaxError: Contains the illegal character '{context.Character}' in the data schema.");
            return(false);
        }
        private static bool DoSortingGutter(ref StateContext context)
        {
            if (context.IsWhitespace())
            {
                return(true);
            }

            if (context.IsLetterOrUnderscore())
            {
                context.Accept();
                context.State = State.SortingField;
                return(true);
            }

            context.OnError("");
            return(false);
        }
Exemplo n.º 6
0
        private static bool DoNone(ref StateContext context, int position)
        {
            if (context.IsWhitespace())
            {
                return(true);
            }

            if (context.IsLetterOrUnderscore())
            {
                context.State = State.Identifier;
                context.Accept();
                return(true);
            }

            if (context.Character == '[')
            {
                context.State = State.Indexer;
                context.Stack.Push(context.Head = MemberExpression.Indexer());
                return(true);
            }

            context.OnError(GetIllegalCharacterExceptionMessage(context.Character, position));
            return(false);
        }
        private static bool DoNone(ref StateContext context)
        {
            if (context.IsWhitespace())
            {
                return(true);
            }

            switch (context.Character)
            {
            case '*':
                //context.Accept();
                context.State = State.Asterisk;
                return(true);

            case '!':
                context.State = State.Exclude;
                return(true);

            case '}':
                return(context.Pop() != null);

            case ',':
                return(true);

            default:
                if (context.IsLetterOrUnderscore())
                {
                    context.Accept();
                    context.State = State.Include;
                    return(true);
                }

                context.OnError("");
                return(false);
            }
        }