Tessa.Views.Parser - пространство имён

Парсер метаинформации представлений.

Классы

CompositeSyntaxNodeTNode Композитный узел (содержит набор дочерних узлов).
EvalSyntaxNode Синтаксический узел для ключевого слова Eval.

Пример

C#
#eval(User.ToString())
ExpressionCompositeSyntaxNode Композитный узел для выражений Expression.
ExpressionConst Предопределенные выражения для выражений.
ExpressionEvaluationContext Контекст преобразования синтаксического узла в выражения Expression.
ExpressionKeywordNodeTypeRegistry Реестр типов синтаксических узлов для выражений запросов.
ExpressionsSyntaxNodeRegistration Объект, выполняющий регистрацию зависимостей для конвертации синтаксических узлов в выражения.
ExpressionSyntaxNodeConverter Осуществляет синтаксический анализ и преобразует лексемы полученные от парсера в синтаксические узлы выражений IExpressionSyntaxNode преобразуемые в деревья выражений Expression
ExpressionTextSyntaxNode Текстовой синтаксический узел с поддержкой преобразования в выражение Expression.
IfSyntaxNode Синтаксический узел для условного оператора If. Поддерживает в качестве условия выражение на C#. Поддерживает дополнительный блок else

Пример

C#
#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.

Пример

C#
#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.

Пример

C#
#var(Variable:expression)

Интерфейсы

IAdditionalBlockOwnerSyntaxNodeTBlockNode, TNode Синтаксический узел, являющийся владельцем дополнительного блока узлов.
IBlockOwnerSyntaxNodeTBlockNode, TNode Узел, владеющий композитным узлом.
ICompositeSyntaxNodeTNode Композитный узел (содержит набор дочерних узлов).
IEvaluatingContext Контекст преобразования синтаксических узлов.
IExpressionAdditionalBlockOwnerSyntaxNode Синтаксический узел, являющийся владельцем дополнительного блока узлов для выражений Expression.
IExpressionBlockOwnerSyntaxNode Узел, владеющий композитным узлом для выражений Expression.
IExpressionCompositeSyntaxNode Композитный узел для выражений Expression.
IExpressionEvaluatingContext Контекст преобразования синтаксического узла в выражения Expression.
IExpressionKeywordSyntaxNode Синтаксический узел, содержащий ключевое слово для выражений Expression.
IExpressionSyntaxNode Синтаксический узел, поддерживающий преобразование в узлы дерева выражений Expression в контексте преобразования IExpressionEvaluatingContext.
IExpressionTextSyntaxNode Текстовой синтаксический узел с поддержкой преобразования в выражение Expression.
IKeywordNodeTypesRegistryTKeywordNode Реестр узлов парсера выражений.
IKeywordSyntaxNode Синтаксический узел, содержащий ключевое слово.
IParametrizedKeywordSyntaxNode Синтаксический узел, содержащий ключевое слово, который поддерживает параметры.
IQueryGeneratorFactory Фабрика создания генератора текста SQL-запроса.
ISyntaxNode Синтаксический узел.
ISyntaxNodeConverterTResultNode Объект, преобразующий лексемы синтаксических узлов от парсера LexemeParser в синтаксические узлы ISyntaxNode.
ITextSyntaxNode Синтаксический узел, содержащий текст.

Делегаты

CreateCompositeNodeFuncTNodes, TCompositeNode Функция, создающая композитный синтаксический узел.
CreateExpressionBuilderFunc Функция, создающая объект, который преобразует исходный текст на языке C# в дерево выражений Expression.
CreateExpressionEvaluatingContextFunc Функция, создающая контекст IExpressionEvaluatingContext для преобразования исходного кода на языке C# в дерево выражений Expression.
CreateKeywordNodeFuncTKeywordNode Функция, создающая синтаксический узел, содержащий ключевое слово.
CreateTextNodeFuncTTextNode Функция, создающая синтаксический узел, содержащий текст.
NormalizeParameterNameFuncAsync Нормализует имя параметра представления.
ResolveNormalizeParameterNameFunc Возвращает функцию, выполняющую нормализацию имени параметра представления для указанной СУБД.