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); } }
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); }
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); }
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); } }