C# Класс System.Data.ExpressionParser

Показать файл Открыть проект Примеры использования класса

Приватные методы

Метод Описание
BuildExpression ( int pri ) : void

Builds expression tree for higher-precedence operator to be used as left operand of current operator. May cause errors - always do ErrorCheck() upin return.

CheckToken ( Tokens token ) : void
ExpressionParser ( DataTable table ) : System.Diagnostics
IsAlpha ( char ch ) : bool

is the character an alpha?

IsAlphaNumeric ( char ch ) : bool

is the character an alphanumeric?

IsDigit ( char ch ) : bool
IsWhiteSpace ( char ch ) : bool

is the character a white space character? Consider using CharacterInfo().IsWhiteSpace(ch) (System.Globalization)

LoadExpression ( string data ) : void
NodePeek ( ) : ExpressionNode

NodePeek - Peek at the top node.

NodePop ( ) : ExpressionNode

NodePop - Pop an operand node from the node stack.

NodePush ( ExpressionNode node ) : void

Push an operand node onto the node stack

Parse ( ) : ExpressionNode
ParseAggregateArgument ( FunctionId aggregate ) : ExpressionNode

Parse the argument to an Aggregate function. The syntax is Func(child[(relation_name)].column_name) When the function is called we have already parsed the Aggregate name, and open paren

Scan ( ) : Tokens
ScanBinaryConstant ( ) : void
ScanDate ( ) : void

Just read the string between '#' signs, and parse it later

ScanName ( ) : void

Just a string of alphanumeric characters.

ScanName ( char chEnd, char esc, string charsToEscape ) : void

recognize bracketed identifiers. Special case: we are using '\' character to escape '[' and ']' only, so '\' by itself is not an escape

ScanNumeric ( ) : void

ScanNumeric - parse number. In format: [digit|.]*{[e|E]{[+|-]}{digit*}} Further checking is done by constant parser.

ScanReserved ( ) : void
ScanString ( char escape ) : void
ScanToken ( Tokens token ) : void
ScanWhite ( ) : void
StartScan ( ) : void