14 internal readonly
int _op;
85 _text =
new char[num + 1];
90 _text =
new char[num + 1];
91 data.CopyTo(0,
_text, 0, num);
214 if (operatorInfo.
_type ==
Nodes.Binop && operatorInfo.
_op == 5)
229 if (expressionNode2 ==
null || expressionNode2.GetType() != typeof(
NameNode))
272 functionNode2.
Check();
286 case Tokens.ListSeparator:
340 if (expressionNode !=
null && expressionNode.GetType() == typeof(
NameNode))
457 switch (operatorInfo.
_type)
465 switch (operatorInfo.
_op)
475 expressionNode = ((operatorInfo._op != 14) ?
new BinaryNode(
_table, operatorInfo.
_op, expressionNode2, right) :
new LikeNode(
_table, operatorInfo.
_op, expressionNode2, right));
484 int op = operatorInfo.
_op;
485 if (op != 1 && op != 3 && op == 25)
496 case Nodes.BinopSpec:
730 private void ScanName(
char chEnd,
char esc,
string charsToEscape)
781 int num2 = s_reservedwords.Length - 1;
784 int num3 = (num + num2) / 2;
814 else if (c == escape)
static bool IsCatchableExceptionType(Exception e)
static Exception LookupArgument()
static Exception InvalidDate(string date)
static Exception InvalidString(string str)
static Exception ExpressionTooComplex()
static Exception InvalidNameBracketing(string name)
static Exception UnknownToken(string token, int position)
static Exception UnsupportedOperator(int op)
static Exception MissingOperator(string token)
static Exception InWithoutParentheses()
static Exception MissingRightParen()
static Exception MissingOperand(OperatorInfo before)
static Exception MissingOperandBefore(string op)
static Exception AggregateArgument()
static Exception SyntaxError()
static Exception TooManyRightParentheses()
void LoadExpression(string data)
ExpressionParser(DataTable table)
void BuildExpression(int pri)
readonly DataTable _table
static readonly ReservedWords[] s_reservedwords
bool IsWhiteSpace(char ch)
void ScanName(char chEnd, char esc, string charsToEscape)
readonly char _listSeparator
void NodePush(ExpressionNode node)
readonly char _decimalSeparator
void ScanString(char escape)
void CheckToken(Tokens token)
ExpressionNode _expression
bool IsAlphaNumeric(char ch)
ExpressionNode ParseAggregateArgument(FunctionId aggregate)
ExpressionNode NodePeek()
void ScanToken(Tokens token)
ExpressionNode[] _nodeStack
void AddArgument(ExpressionNode argument)
static string ParseName(char[] text, int start, int pos)
static int Priority(int op)
static string ToString(int op)
int Compare(string? string1, string? string2)
static CultureInfo InvariantCulture
ReservedWords(string word, Tokens token, int op)