in src/Kusto.Language/Syntax/SyntaxFacts.cs [43:718]
static SyntaxFacts()
{
var data = new List<SyntaxData>() {
new SyntaxData(SyntaxKind.None, "", SyntaxCategory.None ),
new SyntaxData(SyntaxKind.__CrossClusterKeyword, "__crossCluster"),
new SyntaxData(SyntaxKind.__CrossDBKeyword, "__crossDB"),
new SyntaxData(SyntaxKind.__IdKeyword, "__id"),
new SyntaxData(SyntaxKind.__IsFuzzyKeyword, "__isFuzzy"),
new SyntaxData(SyntaxKind.__NoWithSourceKeyword, "__noWithSource"),
new SyntaxData(SyntaxKind.__PackedColumnKeyword, "__packedColumn"),
new SyntaxData(SyntaxKind.__SourceColumnIndexKeyword, "__sourceColumnIndex"),
new SyntaxData(SyntaxKind._3DChartKeyword, "3Dchart"),
new SyntaxData(SyntaxKind.AccessKeyword, "access", canBeIdentifier: true),
new SyntaxData(SyntaxKind.AccumulateKeyword, "accumulate"),
new SyntaxData(SyntaxKind.AliasKeyword, "alias", canBeIdentifier: true),
new SyntaxData(SyntaxKind.AndKeyword, "and", opKind: OperatorKind.And),
new SyntaxData(SyntaxKind.AnomalyChartKeyword, "anomalychart"),
new SyntaxData(SyntaxKind.AreaChartKeyword, "areachart"),
new SyntaxData(SyntaxKind.AsKeyword, "as"),
new SyntaxData(SyntaxKind.AscKeyword, "asc"),
new SyntaxData(SyntaxKind.BagExpansionKeyword, "bagexpansion"),
new SyntaxData(SyntaxKind.BarChartKeyword, "barchart"),
new SyntaxData(SyntaxKind.BetweenKeyword, "between", opKind: OperatorKind.Between),
new SyntaxData(SyntaxKind.BinKeyword, "bin", canBeIdentifier: true),
new SyntaxData(SyntaxKind.BinLegacy, "bin_legacy"),
new SyntaxData(SyntaxKind.ByKeyword, "by"),
new SyntaxData(SyntaxKind.CachingPolicyKeyword, "cachingpolicy"),
new SyntaxData(SyntaxKind.CalloutKeyword, "callout"),
new SyntaxData(SyntaxKind.CancelKeyword, "cancel"),
new SyntaxData(SyntaxKind.CardKeyword, "card"),
new SyntaxData(SyntaxKind.ColumnChartKeyword, "columnchart"),
new SyntaxData(SyntaxKind.CommandsAndQueriesKeyword, "commands-and-queries", canBeIdentifier: true),
new SyntaxData(SyntaxKind.ConsumeKeyword, "consume"),
new SyntaxData(SyntaxKind.ContainsKeyword, "contains", opKind: OperatorKind.Contains),
new SyntaxData(SyntaxKind.ContainsCsKeyword, "containscs", opKind: OperatorKind.ContainsCs),
new SyntaxData(SyntaxKind.Contains_CsKeyword, "contains_cs", opKind: OperatorKind.ContainsCs),
new SyntaxData(SyntaxKind.ContextualDataTableKeyword, "__contextual_datatable"),
new SyntaxData(SyntaxKind.CountKeyword, "count"),
new SyntaxData(SyntaxKind.DatabaseKeyword, "database", canBeIdentifier: true),
new SyntaxData(SyntaxKind.DataExportKeyword, "dataexport"),
new SyntaxData(SyntaxKind.DataScopeKeyword, "datascope"),
new SyntaxData(SyntaxKind.DataTableKeyword, "datatable"),
new SyntaxData(SyntaxKind.DeclareKeyword, "declare" , canBeIdentifier: true),
new SyntaxData(SyntaxKind.DecodeBlocksKeyword, "decodeblocks"),
new SyntaxData(SyntaxKind.DefaultKeyword, "default", canBeIdentifier: true),
new SyntaxData(SyntaxKind.DescKeyword, "desc"),
new SyntaxData(SyntaxKind.DistinctKeyword, "distinct"),
new SyntaxData(SyntaxKind.EarliestKeyword, "earliest"),
new SyntaxData(SyntaxKind.EndsWithKeyword, "endswith", opKind: OperatorKind.EndsWith),
new SyntaxData(SyntaxKind.EndsWithCsKeyword, "endswith_cs", opKind: OperatorKind.EndsWithCs),
new SyntaxData(SyntaxKind.EncodingPolicyKeyword, "encodingpolicy"),
new SyntaxData(SyntaxKind.EntityGroupKeyword, "entity_group"),
new SyntaxData(SyntaxKind.EvaluateKeyword, "evaluate", canBeIdentifier: true),
new SyntaxData(SyntaxKind.ExecuteAndCacheKeyword, "__executeAndCache"),
new SyntaxData(SyntaxKind.ExpandOutputKeyword, "expandoutput"),
new SyntaxData(SyntaxKind.ExtendKeyword, "extend"),
new SyntaxData(SyntaxKind.ExtentTagsRetentionKeyword, "extent_tags_retention"),
new SyntaxData(SyntaxKind.ExternalDataKeyword, "externaldata"),
new SyntaxData(SyntaxKind.External_DataKeyword, "external_data"),
new SyntaxData(SyntaxKind.FacetKeyword, "facet", canBeIdentifier: true),
new SyntaxData(SyntaxKind.FilterKeyword, "filter"),
new SyntaxData(SyntaxKind.FindKeyword, "find"),
new SyntaxData(SyntaxKind.FirstKeyword, "first"),
new SyntaxData(SyntaxKind.FlagsKeyword, "flags"),
new SyntaxData(SyntaxKind.ForkKeyword, "fork", canBeIdentifier: true),
new SyntaxData(SyntaxKind.FromKeyword, "from", canBeIdentifier: true),
new SyntaxData(SyntaxKind.GetSchemaKeyword, "getschema"),
new SyntaxData(SyntaxKind.GrannyAscKeyword, "granny-asc"),
new SyntaxData(SyntaxKind.GrannyDescKeyword, "granny-desc"),
new SyntaxData(SyntaxKind.HardDeleteKeyword, "harddelete"),
new SyntaxData(SyntaxKind.HardRetentionKeyword, "hardretention"),
new SyntaxData(SyntaxKind.HasAnyKeyword, "has_any", opKind: OperatorKind.HasAny),
new SyntaxData(SyntaxKind.HasAllKeyword, "has_all", opKind: OperatorKind.HasAll),
new SyntaxData(SyntaxKind.HasKeyword, "has", opKind: OperatorKind.Has),
new SyntaxData(SyntaxKind.HasCsKeyword, "has_cs", opKind: OperatorKind.HasCs),
new SyntaxData(SyntaxKind.HasPrefixKeyword, "hasprefix", opKind: OperatorKind.HasPrefix),
new SyntaxData(SyntaxKind.HasPrefixCsKeyword, "hasprefix_cs", opKind: OperatorKind.HasPrefixCs),
new SyntaxData(SyntaxKind.HasSuffixKeyword, "hassuffix", opKind: OperatorKind.HasSuffix),
new SyntaxData(SyntaxKind.HasSuffixCsKeyword, "hassuffix_cs", opKind: OperatorKind.HasSuffixCs),
new SyntaxData(SyntaxKind.HintDotConcurrencyKeyword,"hint.concurrency"),
new SyntaxData(SyntaxKind.HintDotDistributionKeyword,"hint.distribution"),
new SyntaxData(SyntaxKind.HintDotMaterializedKeyword,"hint.materialized"),
new SyntaxData(SyntaxKind.HintDotNumPartitions,"hint.num_partitions"),
new SyntaxData(SyntaxKind.HintDotProgressiveTopKeyword,"hint.progressive_top"),
new SyntaxData(SyntaxKind.HintDotShuffleKeyKeyword,"hint.shufflekey"),
new SyntaxData(SyntaxKind.HintDotSpreadKeyword,"hint.spread"),
new SyntaxData(SyntaxKind.HintDotRemoteKeyword,"hint.remote"),
new SyntaxData(SyntaxKind.HintDotStrategyKeyword,"hint.strategy"),
new SyntaxData(SyntaxKind.HotCacheKeyword, "hotcache"),
new SyntaxData(SyntaxKind.IdKeyword, "id", canBeIdentifier: true),
new SyntaxData(SyntaxKind.InKeyword, "in", opKind: OperatorKind.In),
new SyntaxData(SyntaxKind.InCsKeyword, "in~", opKind: OperatorKind.InCs),
new SyntaxData(SyntaxKind.InvokeKeyword, "invoke"),
new SyntaxData(SyntaxKind.IsFuzzyKeyword, "isfuzzy"),
new SyntaxData(SyntaxKind.JoinKeyword, "join"),
new SyntaxData(SyntaxKind.JournalKeyword, "journal"),
new SyntaxData(SyntaxKind.KindKeyword, "kind"),
new SyntaxData(SyntaxKind.LadderChartKeyword, "ladderchart"),
new SyntaxData(SyntaxKind.LastKeyword, "last"),
new SyntaxData(SyntaxKind.LatestKeyword, "latest"),
new SyntaxData(SyntaxKind.LetKeyword, "let", canBeIdentifier: true),
new SyntaxData(SyntaxKind.LikeKeyword, "like", opKind: OperatorKind.Like),
new SyntaxData(SyntaxKind.LikeCsKeyword, "likecs", opKind: OperatorKind.LikeCs),
new SyntaxData(SyntaxKind.LimitKeyword, "limit"),
new SyntaxData(SyntaxKind.LineChartKeyword, "linechart"),
new SyntaxData(SyntaxKind.LookupKeyword, "lookup", canBeIdentifier: true),
new SyntaxData(SyntaxKind.MakeSeriesKeyword, "make-series"),
new SyntaxData(SyntaxKind.MatchesRegexKeyword, "matches regex", opKind: OperatorKind.MatchRegex),
new SyntaxData(SyntaxKind.MaterializeKeyword, "materialize"),
new SyntaxData(SyntaxKind.MaterializedViewCombineKeyword, "materialized-view-combine"),
new SyntaxData(SyntaxKind.MaterializedViewsKeyword, "materialized-views", canBeIdentifier: true),
new SyntaxData(SyntaxKind.MdmKeyword, "mdm"),
new SyntaxData(SyntaxKind.MissingKeyword, "missing"),
new SyntaxData(SyntaxKind.MvDashApplyKeyword, "mv-apply"),
new SyntaxData(SyntaxKind.MvApplyKeyword, "mvapply"),
new SyntaxData(SyntaxKind.MvDashExpandKeyword, "mv-expand"),
new SyntaxData(SyntaxKind.MvExpandKeyword, "mvexpand"),
new SyntaxData(SyntaxKind.NoOptimizationKeyword, "nooptimization"),
new SyntaxData(SyntaxKind.NotBetweenKeyword, "!between", opKind: OperatorKind.NotBetween),
new SyntaxData(SyntaxKind.NotContainsKeyword, "notcontains", opKind: OperatorKind.NotContains),
new SyntaxData(SyntaxKind.NotContainsCsKeyword, "notcontainscs", opKind: OperatorKind.NotContainsCs),
new SyntaxData(SyntaxKind.NotBangContainsKeyword, "!contains", opKind: OperatorKind.NotContains),
new SyntaxData(SyntaxKind.NotBangContainsCsKeyword, "!contains_cs", opKind: OperatorKind.NotContainsCs),
new SyntaxData(SyntaxKind.NotEndsWithKeyword, "!endswith", opKind: OperatorKind.NotEndsWith),
new SyntaxData(SyntaxKind.NotEndsWithCsKeyword, "!endswith_cs", opKind: OperatorKind.NotEndsWithCs),
new SyntaxData(SyntaxKind.NotHasKeyword, "!has", opKind: OperatorKind.NotHas),
new SyntaxData(SyntaxKind.NotHasCsKeyword, "!has_cs", opKind: OperatorKind.NotHasCs),
new SyntaxData(SyntaxKind.NotHasPrefixKeyword, "!hasprefix", opKind: OperatorKind.NotHasPrefix),
new SyntaxData(SyntaxKind.NotHasPrefixCsKeyword, "!hasprefix_cs", opKind: OperatorKind.NotHasPrefixCs),
new SyntaxData(SyntaxKind.NotHasSuffixKeyword, "!hassuffix", opKind: OperatorKind.NotHasSuffix),
new SyntaxData(SyntaxKind.NotHasSuffixCsKeyword, "!hassuffix_cs", opKind: OperatorKind.NotHasSuffixCs),
new SyntaxData(SyntaxKind.NotInKeyword, "!in", opKind: OperatorKind.NotIn),
new SyntaxData(SyntaxKind.NotInCsKeyword, "!in~", opKind: OperatorKind.NotInCs),
new SyntaxData(SyntaxKind.NotLikeKeyword, "notlike", opKind: OperatorKind.NotLike),
new SyntaxData(SyntaxKind.NotLikeCsKeyword, "notlikecs", opKind: OperatorKind.NotLikeCs),
new SyntaxData(SyntaxKind.NotStartsWithKeyword, "!startswith", opKind: OperatorKind.NotStartsWith),
new SyntaxData(SyntaxKind.NotStartsWithCsKeyword, "!startswith_cs", opKind: OperatorKind.NotStartsWithCs),
new SyntaxData(SyntaxKind.NullKeyword, "null", canBeIdentifier: true),
new SyntaxData(SyntaxKind.NullsKeyword, "nulls", canBeIdentifier: true),
new SyntaxData(SyntaxKind.OfKeyword, "of"),
new SyntaxData(SyntaxKind.OnKeyword, "on", canBeIdentifier: true),
new SyntaxData(SyntaxKind.OptionalKeyword, "optional", canBeIdentifier: true),
new SyntaxData(SyntaxKind.OrKeyword, "or", opKind: OperatorKind.Or),
new SyntaxData(SyntaxKind.OrderKeyword, "order"),
new SyntaxData(SyntaxKind.OthersKeyword, "others"),
new SyntaxData(SyntaxKind.OutputKeyword, "output", canBeIdentifier: true),
new SyntaxData(SyntaxKind.PackKeyword, "pack", canBeIdentifier: true),
new SyntaxData(SyntaxKind.ParseKeyword, "parse"),
new SyntaxData(SyntaxKind.ParseWhereKeyword, "parse-where"),
new SyntaxData(SyntaxKind.PartitionKeyword, "partition", canBeIdentifier: true),
new SyntaxData(SyntaxKind.PathFormatKeyword, "pathformat"),
new SyntaxData(SyntaxKind.PatternKeyword, "pattern", canBeIdentifier: true),
new SyntaxData(SyntaxKind.PieChartKeyword, "piechart"),
new SyntaxData(SyntaxKind.PivotChartKeyword, "pivotchart"),
new SyntaxData(SyntaxKind.PrintKeyword, "print"),
new SyntaxData(SyntaxKind.ProjectKeyword, "project"),
new SyntaxData(SyntaxKind.ProjectAwayKeyword, "project-away"),
new SyntaxData(SyntaxKind._ProjectAwayKeyword, "__projectAway"),
new SyntaxData(SyntaxKind.ProjectKeepKeyword, "project-keep"),
new SyntaxData(SyntaxKind.ProjectRenameKeyword, "project-rename"),
new SyntaxData(SyntaxKind.ProjectReorderKeyword, "project-reorder"),
new SyntaxData(SyntaxKind.ProjectSmartKeyword, "project-smart"),
new SyntaxData(SyntaxKind.QueriesKeyword, "queries"),
new SyntaxData(SyntaxKind.QueryParametersKeyword, "query_parameters", canBeIdentifier: true),
new SyntaxData(SyntaxKind.QueryResultsKeyword, "query_results"),
new SyntaxData(SyntaxKind.RangeKeyword, "range", canBeIdentifier: true),
new SyntaxData(SyntaxKind.ReduceKeyword, "reduce", canBeIdentifier: true),
new SyntaxData(SyntaxKind.RegexKeyword, "regex"),
new SyntaxData(SyntaxKind.RelaxedKeyword, "relaxed"),
new SyntaxData(SyntaxKind.RenderKeyword, "render", canBeIdentifier: true),
new SyntaxData(SyntaxKind.RestrictedViewAccessKeyword, "restricted_view_access"),
new SyntaxData(SyntaxKind.RestrictKeyword, "restrict", canBeIdentifier: true),
new SyntaxData(SyntaxKind.RowLevelSecurityKeyword, "row_level_security"),
new SyntaxData(SyntaxKind.RowstoreKeyword, "rowstore"),
new SyntaxData(SyntaxKind.RowstoreReferencesKeyword, "rowstore_references"),
new SyntaxData(SyntaxKind.RowstoreSealInfoKeyword, "rowstore_sealinfo"),
new SyntaxData(SyntaxKind.RowstorePolicyKeyword, "rowstorepolicy"),
new SyntaxData(SyntaxKind.RowstoresKeyword, "rowstores"),
new SyntaxData(SyntaxKind.SampleKeyword, "sample"),
new SyntaxData(SyntaxKind.SampleDistinctKeyword, "sample-distinct"),
new SyntaxData(SyntaxKind.ScanKeyword, "scan"),
new SyntaxData(SyntaxKind.ScatterChartKeyword, "scatterchart"),
new SyntaxData(SyntaxKind.SealKeyword, "seal"),
new SyntaxData(SyntaxKind.SealsKeyword, "seals"),
new SyntaxData(SyntaxKind.SearchKeyword, "search"),
new SyntaxData(SyntaxKind.SerializeKeyword, "serialize"),
new SyntaxData(SyntaxKind.SetKeyword, "set"),
new SyntaxData(SyntaxKind.SetOrAppendKeyword, "set-or-append", canBeIdentifier: true),
new SyntaxData(SyntaxKind.SetOrReplaceKeyword, "set-or-replace", canBeIdentifier: true),
new SyntaxData(SyntaxKind.ShardsKeyword, "shards"),
new SyntaxData(SyntaxKind.SimpleKeyword, "simple"),
new SyntaxData(SyntaxKind.SoftDeleteKeyword, "softdelete"),
new SyntaxData(SyntaxKind.SoftRetentionKeyword, "softretention"),
new SyntaxData(SyntaxKind.SortKeyword, "sort"),
new SyntaxData(SyntaxKind.SqlKeyword, "sql"),
new SyntaxData(SyntaxKind.StackedAreaChartKeyword, "stackedareachart"),
new SyntaxData(SyntaxKind.StartsWithKeyword, "startswith", opKind: OperatorKind.StartsWith),
new SyntaxData(SyntaxKind.StartsWithCsKeyword, "startswith_cs", opKind: OperatorKind.StartsWithCs),
new SyntaxData(SyntaxKind.StatisticsKeyword, "statistics"),
new SyntaxData(SyntaxKind.StepKeyword, "step", canBeIdentifier: true),
new SyntaxData(SyntaxKind.StoredQueryResultContainersKeyword, "storedqueryresultcontainers"),
new SyntaxData(SyntaxKind.SummarizeKeyword, "summarize"),
new SyntaxData(SyntaxKind.TablePurgeKeyword, "tablepurge"),
new SyntaxData(SyntaxKind.TakeKeyword, "take"),
new SyntaxData(SyntaxKind.TimeChartKeyword, "timechart"),
new SyntaxData(SyntaxKind.TimelineKeyword, "timeline"),
new SyntaxData(SyntaxKind.TimePivotKeyword, "timepivot"),
new SyntaxData(SyntaxKind.TitleKeyword, "title"),
new SyntaxData(SyntaxKind.ToKeyword, "to"),
new SyntaxData(SyntaxKind.TopKeyword, "top"),
new SyntaxData(SyntaxKind.TopHittersKeyword, "top-hitters"),
new SyntaxData(SyntaxKind.TopNestedKeyword, "top-nested"),
new SyntaxData(SyntaxKind.ToScalarKeyword, "toscalar"),
new SyntaxData(SyntaxKind.ToTableKeyword, "totable"),
new SyntaxData(SyntaxKind.TreeMapKeyword, "treemap"),
new SyntaxData(SyntaxKind.TypeOfKeyword, "typeof", canBeIdentifier: true),
new SyntaxData(SyntaxKind.UnionKeyword, "union"),
new SyntaxData(SyntaxKind.UnrestrictedViewersKeyword, "unrestrictedviewers"),
new SyntaxData(SyntaxKind.VerboseKeyword, "verbose"),
new SyntaxData(SyntaxKind.ViewKeyword, "view", canBeIdentifier: true),
new SyntaxData(SyntaxKind.ViewersKeyword, "viewers"),
new SyntaxData(SyntaxKind.ViewsKeyword, "views"),
new SyntaxData(SyntaxKind.WhereKeyword, "where"),
new SyntaxData(SyntaxKind.WithKeyword, "with", canBeIdentifier: true),
new SyntaxData(SyntaxKind.WithItemIndexKeyword, "with_itemindex"),
new SyntaxData(SyntaxKind.WithMatchIdKeyword, "with_match_id"),
new SyntaxData(SyntaxKind.With_SourceKeyword, "with_source"),
new SyntaxData(SyntaxKind.WithStepNameKeyword, "with_step_name"),
new SyntaxData(SyntaxKind.WithSourceKeyword, "withsource"),
new SyntaxData(SyntaxKind.WriteAheadLogKeyword, "writeaheadlog"),
// type name keywords?
new SyntaxData(SyntaxKind.BoolKeyword, "bool", canBeIdentifier: true, isType: true),
new SyntaxData(SyntaxKind.BooleanKeyword, "boolean", isType: true),
new SyntaxData(SyntaxKind.ByteKeyword, "byte", isType: true),
new SyntaxData(SyntaxKind.CharKeyword, "char", isType: true),
new SyntaxData(SyntaxKind.DateKeyword, "date", isType: true),
new SyntaxData(SyntaxKind.DateTimeKeyword, "datetime", isType: true),
new SyntaxData(SyntaxKind.DoubleKeyword, "double", isType: true),
new SyntaxData(SyntaxKind.DynamicKeyword, "dynamic", isType: true),
new SyntaxData(SyntaxKind.FloatKeyword, "float", isType: true),
new SyntaxData(SyntaxKind.GuidKeyword, "guid", canBeIdentifier: true, isType: true),
new SyntaxData(SyntaxKind.IntKeyword, "int", isType: true),
new SyntaxData(SyntaxKind.Int16Keyword, "int16", isType: true),
new SyntaxData(SyntaxKind.Int32Keyword, "int32", isType: true),
new SyntaxData(SyntaxKind.Int64Keyword, "int64", isType: true),
new SyntaxData(SyntaxKind.Int8Keyword, "int8", isType: true),
new SyntaxData(SyntaxKind.LongKeyword, "long", isType: true),
new SyntaxData(SyntaxKind.RealKeyword, "real", isType: true),
new SyntaxData(SyntaxKind.DecimalKeyword, "decimal", isType: true),
new SyntaxData(SyntaxKind.SingleKeyword, "single", isType: true),
new SyntaxData(SyntaxKind.StringKeyword, "string", isType: true),
new SyntaxData(SyntaxKind.TimeKeyword, "time", isType: true),
new SyntaxData(SyntaxKind.TimespanKeyword, "timespan", isType: true),
new SyntaxData(SyntaxKind.UIntKeyword, "uint", isType: true),
new SyntaxData(SyntaxKind.UInt16Keyword, "uint16", isType: true),
new SyntaxData(SyntaxKind.UInt32Keyword, "uint32", isType: true),
new SyntaxData(SyntaxKind.UInt64Keyword, "uint64", isType: true),
new SyntaxData(SyntaxKind.UInt8Keyword, "uint8", isType: true),
new SyntaxData(SyntaxKind.ULongKeyword, "ulong", isType: true),
new SyntaxData(SyntaxKind.UniqueIdKeyword, "uniqueid", isType: true),
new SyntaxData(SyntaxKind.UuidKeyword, "uuid", canBeIdentifier: true, isType: true),
// punctuation
new SyntaxData(SyntaxKind.OpenParenToken, "(", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.CloseParenToken, ")", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.OpenBracketToken, "[", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.CloseBracketToken, "]", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.OpenBraceToken, "{", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.CloseBraceToken, "}", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.BarToken, "|", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.LessThanBarToken, "<|", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.PlusToken, "+", SyntaxCategory.Operator, OperatorKind.Add),
new SyntaxData(SyntaxKind.MinusToken, "-", SyntaxCategory.Operator, OperatorKind.Subtract),
new SyntaxData(SyntaxKind.AsteriskToken, "*", SyntaxCategory.Operator, OperatorKind.Multiply),
new SyntaxData(SyntaxKind.SlashToken, "/", SyntaxCategory.Operator, OperatorKind.Divide),
new SyntaxData(SyntaxKind.PercentToken, "%", SyntaxCategory.Operator, OperatorKind.Modulo),
new SyntaxData(SyntaxKind.DotToken, ".", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.DotDotToken, "..", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.BangToken, "!", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.LessThanToken, "<", SyntaxCategory.Operator, OperatorKind.LessThan),
new SyntaxData(SyntaxKind.LessThanOrEqualToken, "<=", SyntaxCategory.Operator, OperatorKind.LessThanOrEqual),
new SyntaxData(SyntaxKind.GreaterThanToken, ">", SyntaxCategory.Operator, OperatorKind.GreaterThan),
new SyntaxData(SyntaxKind.GreaterThanOrEqualToken, ">=", SyntaxCategory.Operator, OperatorKind.GreaterThanOrEqual),
new SyntaxData(SyntaxKind.EqualToken, "=", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.EqualEqualToken, "==", SyntaxCategory.Operator, OperatorKind.Equal),
new SyntaxData(SyntaxKind.BangEqualToken, "!=", SyntaxCategory.Operator, OperatorKind.NotEqual),
new SyntaxData(SyntaxKind.LessThanGreaterThanToken, "<>", SyntaxCategory.Operator, OperatorKind.NotEqual),
new SyntaxData(SyntaxKind.ColonToken, ":", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.SemicolonToken, ";", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.CommaToken, ",", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.EqualTildeToken, "=~", SyntaxCategory.Operator, OperatorKind.EqualTilde),
new SyntaxData(SyntaxKind.BangTildeToken, "!~", SyntaxCategory.Operator, OperatorKind.BangTilde),
new SyntaxData(SyntaxKind.AtToken, "@", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.QuestionToken, "?", SyntaxCategory.Punctuation),
new SyntaxData(SyntaxKind.FatArrowToken, "=>", SyntaxCategory.Punctuation),
// literal tokens
new SyntaxData(SyntaxKind.StringLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.BooleanLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.LongLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.IntLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.RealLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.DecimalLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.DateTimeLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.TimespanLiteralToken, "", SyntaxCategory.Literal),
new SyntaxData(SyntaxKind.GuidLiteralToken, "", SyntaxCategory.Literal),
// other tokens
new SyntaxData(SyntaxKind.IdentifierToken, "", SyntaxCategory.Identifier),
new SyntaxData(SyntaxKind.EndOfTextToken, "", SyntaxCategory.Other),
new SyntaxData(SyntaxKind.DirectiveToken, "", SyntaxCategory.Other),
new SyntaxData(SyntaxKind.BadToken, "", SyntaxCategory.Other),
// list
new SyntaxData(SyntaxKind.List, "", SyntaxCategory.List),
// nodes
new SyntaxData(SyntaxKind.SeparatedElement, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExpressionList, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExpressionCouple, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.RenameList, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CustomNode, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TokenName, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BracketedName, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BracedName, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.WildcardedName, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BracketedWildcardedName, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NameDeclaration, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NameReference, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ParenthesizedExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PathExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ElementExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SimpleNamedExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CompoundNamedExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FunctionCallExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ToScalarExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ToTableExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BracketedExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.RangeOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PipeExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NamedParameter, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DataScopeExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DataTableExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ContextualDataTableExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExternalDataExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExternalDataWithClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExternalDataUriList, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MaterializedViewCombineExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MaterializedViewCombineClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.IntLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BooleanLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.LongLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.RealLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DecimalLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DateTimeLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TimespanLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TypeOfLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.GuidLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.StringLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CompoundStringLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NullLiteralExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TokenLiteralExpression, "", SyntaxCategory.Node),
// nullary expression?
new SyntaxData(SyntaxKind.StarExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.AtExpression, "", SyntaxCategory.Node),
// unary operartor expressions
new SyntaxData(SyntaxKind.UnaryPlusExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.UnaryMinusExpression, "", SyntaxCategory.Node),
// binary operator expressions
new SyntaxData(SyntaxKind.AddExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SubtractExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MultiplyExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DivideExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ModuloExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.LessThanExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.LessThanOrEqualExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.GreaterThanExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.GreaterThanOrEqualExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.EqualExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotEqualExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.AndExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.OrExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.InExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.InCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasAnyExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasAllExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotInExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotInCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BetweenExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotBetweenExpression, "", SyntaxCategory.Node),
// string binary operators
new SyntaxData(SyntaxKind.EqualTildeExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BangTildeExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotHasExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotHasCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasPrefixExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasPrefixCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotHasPrefixExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotHasPrefixCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasSuffixExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.HasSuffixCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotHasSuffixExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotHasSuffixCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.LikeExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.LikeCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotLikeExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotLikeCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ContainsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ContainsCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotContainsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotContainsCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.StartsWithExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.StartsWithCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotStartsWithExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotStartsWithCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.EndsWithExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.EndsWithCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotEndsWithExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NotEndsWithCsExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MatchesRegexExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SearchExpression, "", SyntaxCategory.Node),
// dynamic/json expressions
new SyntaxData(SyntaxKind.JsonObjectExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.JsonPair, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.JsonArrayExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DynamicExpression, "", SyntaxCategory.Node),
// common query-related expressions & clauses
new SyntaxData(SyntaxKind.TypedColumnReference, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PackExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NameAndTypeDeclaration, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PrimitiveTypeExpression, "", SyntaxCategory.None),
new SyntaxData(SyntaxKind.SchemaTypeExpression, "", SyntaxCategory.None),
new SyntaxData(SyntaxKind.ToTypeOfClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DataScopeClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NameEqualsClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DefaultExpressionClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.EvaluateSchemaClause, "", SyntaxCategory.Node),
// query operators
new SyntaxData(SyntaxKind.BadQueryOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.AsOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ConsumeOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CountOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CountAsIdentifierClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DistinctOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExecuteAndCacheOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExtendOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FacetOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FacetWithOperatorClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FacetWithExpressionClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FilterOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FindOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FindInClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FindProjectClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ForkOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ForkExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.GetSchemaOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.InvokeOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.LookupOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.JoinOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.JoinOnClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.JoinWhereClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesOnClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesInRangeClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesToClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesFromClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesStepClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesFromToStepClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MakeSeriesByClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvApplyOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvApplyExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvApplyRowLimitClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvApplyContextIdClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvApplySubqueryExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvExpandOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvExpandExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MvExpandRowLimitClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PartitionOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PartitionSubquery, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PartitionQuery, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PartitionScope, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ParseOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ParseWhereOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.EvaluateOperator, "", SyntaxCategory.Node), // evaluate
new SyntaxData(SyntaxKind.PrintOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ProjectOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ProjectAwayOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ProjectKeepOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ProjectRenameOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ProjectReorderOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ReduceByOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ReduceByWithClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.RenderOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.RenderWithClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.NameReferenceList, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SampleOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SampleDistinctOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanOrderByClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanPartitionByClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanDeclareClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanStep, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanStepOutput, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanComputationClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ScanAssignment, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SearchOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SerializeOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SummarizeOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SummarizeByClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SortOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.OrderedExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.OrderingClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.OrderingNullsClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TakeOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TopOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TopHittersOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TopHittersByClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TopNestedOperator, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TopNestedClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.TopNestedWithOthersClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.UnionOperator, "", SyntaxCategory.Node),
// statements
new SyntaxData(SyntaxKind.AliasStatement, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.ExpressionStatement, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FunctionDeclaration, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FunctionParameters, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FunctionParameter, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DefaultValueDeclaration, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.FunctionBody, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.LetStatement, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.MaterializeExpression, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PatternStatement, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PatternPathParameter, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PatternDeclaration, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PatternMatch, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.PatternPathValue, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.RestrictStatement, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SetOptionStatement, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.OptionValueClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.QueryParametersStatement, "", SyntaxCategory.Node),
// commands
new SyntaxData(SyntaxKind.CommandWithValueClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CommandWithPropertyListClause, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.BadCommand, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.UnknownCommand, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CustomCommand, "", SyntaxCategory.Node),
// other
new SyntaxData(SyntaxKind.QueryBlock, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.CommandBlock, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.DirectiveBlock, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.SkippedTokens, "", SyntaxCategory.Node),
new SyntaxData(SyntaxKind.InputTextToken, "", SyntaxCategory.Other),
};
// put in sorted order TODO: fix list to be in order
data.Sort((d1, d2) => string.Compare(d1.Text, d2.Text));
var count = Enum.GetValues(typeof(SyntaxKind)).Length;
kindToDataMap = new SyntaxData[count];
textToKindMap = new TextKeyedDictionary<SyntaxKind>();
for (int i = 0; i < data.Count; i++)
{
var d = data[i];
// prove no overlapping kinds
Ensure.IsNull(kindToDataMap[(int)d.Kind]);
kindToDataMap[(int)d.Kind] = d;
if (d.Text != null)
{
textToKindMap.GetOrAddValue(d.Text, d.Kind);
}
}
#if DEBUG
if (data.Count != kindToDataMap.Length
|| !kindToDataMap.All(item => item != null))
{
if (System.Diagnostics.Debugger.IsAttached)
{
// "Why did the debugger stop here?" you might be asking yourself.
// Most likely it happened because "somebody" just added a new value to the
// 'SyntaxKind' enum without adding a corresponding entry to the
// 'data' variable (see the of this method).
System.Diagnostics.Debugger.Break();
}
System.Diagnostics.Debug.Fail(typeof(SyntaxFacts).FullName + ".cctor: Mismatch between SyntaxKind enum and SyntaxFacts kindToDataMap");
}
#endif
}