| CompositeSyntaxNodeTNode |
Композитный узел (содержит набор дочерних узлов).
|
| EvalSyntaxNode |
Синтаксический узел для ключевого слова Eval.
#eval(User.ToString())
|
| ExpressionCompositeSyntaxNode |
Композитный узел для выражений Expression.
|
| ExpressionConst |
Предопределенные выражения для выражений.
|
| ExpressionEvaluationContext |
Контекст преобразования синтаксического узла в выражения Expression.
|
| ExpressionKeywordNodeTypeRegistry |
Реестр типов синтаксических узлов для выражений запросов.
|
| ExpressionsSyntaxNodeRegistration |
Объект, выполняющий регистрацию зависимостей для конвертации синтаксических узлов в выражения.
|
| ExpressionSyntaxNodeConverter |
Осуществляет синтаксический анализ и преобразует лексемы полученные от парсера
в синтаксические узлы выражений IExpressionSyntaxNode преобразуемые
в деревья выражений Expression |
| ExpressionTextSyntaxNode |
Текстовой синтаксический узел с поддержкой преобразования в выражение Expression.
|
| IfSyntaxNode |
Синтаксический узел для условного оператора If.
Поддерживает в качестве условия выражение на C#.
Поддерживает дополнительный блок else #if(Administrator){... true block ...}{... false block ...}
|
| KeywordNames |
Имена ключевых слов синтаксического дерева, которое строится по SQL-запросу представления.
|
| KeywordSyntaxNode |
Синтаксический узел, содержащий ключевое слово.
|
| LexemeParser |
Осуществляет парсинг переданного текста.
Исходный текст имеет следующий формат.
#keyword[([Param1[:Value], [ParamN[:Value]])]
[{]
[}]
[{]
[}]
В качестве экранирующего символа используется \.
Парсинг осуществляет передачей в метод Parse(String, Int32) исходного текста
На выходе парсер выдает коллекцию элементов кода CodeBlockCollection
В случае ошибки разбора текста генерирует исключения ParserException
Возможные состояния:
ProcessText - Находится в режиме обработки текста и поиска начала ключевого слова
ProcessKeyword - Находится в режиме обработки имени ключевого слова
ProcessOpenedBracket - Находится в режиме поиска - '('
ProcessOpenedCurveBracket - Находится в режиме поиска - '{'
ProcessClosingBracket - Находится в режиме поиска закрывающейся ')'
ProcessClosingCurveBracket - Находится в режиме поиска закрывающейся '}'
Возможные переходы между состояниями:
ProcessText -> ProcessKeyword
ProcessKeyword
-> ProcessText
-> ProcessOpenedBracket
-> ProcessComment
ProcessOpenedBracket
-> ProcessOpenedCurveBracket
-> ProcessClosingBracket
ProcessOpenedCurveBracket
-> ProcessClosingCurveBracket
-> ProcessText
ProcessClosingBracket
-> ProcessText
-> ProcessOpenedCurveBracket
-> ProcessComment
ProcessClosingCurveBracket
-> ProcessOpenedCurveBracket
|
| OrderBySyntaxNode |
Синтаксический узел для ключевого слова OrderBy.
#order_by
|
| ParametrizedKeywordSyntaxNode |
Синтаксический узел, содержащий ключевое слово, который поддерживает параметры.
|
| ParamSyntaxNode |
Ключевой синтаксический узел для ключевого слова Param |
| ParserException |
Исключение, вызываемое при ошибке разбора выражений.
|
| ParserHelper |
Вспомогательные методы для парсинга текстов шаблонизатора представлений.
|
| QueryGeneratorFactory |
Фабрика создания генератора текста SQL-запроса.
|
| SyntaxConverterOptions |
Опции конвертации лексем в синтаксическое дерево.
|
| SyntaxNode |
Синтаксический узел.
|
| SyntaxNodeConverterTResultNode, TKeywordNode, TTextNode, TCompositeNode |
Объект, преобразующий лексемы от парсера LexemeParser
в дерево выражений на основании правил разбора.
На выходе получается дерево, состоящее из узлов ISyntaxNode.
|
| SyntaxNodeRegistration |
Регистратор зависимостей синтаксических узлов
|
| SyntaxTreeExtensions |
Вспомогательные методы для разбора узлов синтаксического дерева ISyntaxNode.
|
| SyntaxTreeRegistration |
Регистратор подсистемы разбора текстов, содержащих объекты, разбираемые посредством LexemeParser
и преобразуемые в объекты системы.
|
| TextSyntaxNode |
Синтаксический узел, содержащий текст.
|
| UnknownKeywordException |
Исключение, вызываемое при ошибке разбора выражений, связанное с неизвестным ключевым словом.
|
| VarSyntaxNode |
Синтаксический узел для ключевого слова Variable.
#var(Variable:expression)
|