Exemple #1
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="condition"></param>
 /// <param name="then"></param>
 /// <param name="else"></param>
 public ConditionalExpression(IParserLocation context, IExpression condition, IExpression then, IExpression @else)
 {
     Condition  = condition;
     this.then  = then;
     this.@else = @else;
     Location   = context;
 }
Exemple #2
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="parserContext"></param>
 /// <param name="kind"></param>
 /// <param name="castTypeName"></param>
 /// <param name="expression"></param>
 public CastExpression(IParserLocation parserContext, CoercionKind kind, string castTypeName, IExpression expression)
 {
     Location     = parserContext;
     Kind         = kind;
     CastTypeName = castTypeName;
     Expression   = expression;
 }
Exemple #3
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="operator"></param>
 /// <param name="leftExpression"></param>
 /// <param name="rightExpression"></param>
 public BinaryOperationExpression(IParserLocation context, BinaryOperator @operator, IExpression leftExpression, IExpression rightExpression)
 {
     this.leftExpression  = leftExpression;
     this.rightExpression = rightExpression;
     Operator             = @operator;
     Location             = context;
     SemanticType         = null;
 }
Exemple #4
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="location"></param>
 /// <param name="this"></param>
 /// <param name="delimiter"></param>
 /// <param name="memberName"></param>
 public MemberExpression(IParserLocation location, IExpression @this, IdDelimiter delimiter, string memberName)
 {
     Location       = location;
     SemanticType   = null;
     ThisExpression = @this;
     MemberName     = memberName;
     Delimiter      = delimiter;
 }
Exemple #5
0
 /// <summary>
 /// Creates a ArrayExpression.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="elements"></param>
 public ArrayExpression(IParserLocation context, IEnumerable <IExpression> elements)
 {
     Elements     = elements.ToArray();
     Location     = context;
     SemanticType = null;
 }
 /// <summary>
 /// Creates a AST node for boolean literal.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="value"></param>
 public BooleanLiteralExpression(IParserLocation context, bool value)
 {
     Value    = value;
     Location = context;
 }
 /// <summary>
 /// Constructor
 /// </summary>
 /// <param name="context"></param>
 /// <param name="value"></param>
 public StringLiteralExpression(IParserLocation context, string value)
 {
     Value    = value;
     Location = context;
 }
Exemple #8
0
 /// <summary>
 /// Creates a AST node for array index accessing.
 /// </summary>
 /// <param name="location"></param>
 /// <param name="primary"></param>
 /// <param name="indices"></param>
 public ArrayAccessExpression(IParserLocation location, IExpression primary, IEnumerable <IExpression> indices)
 {
     this.Location       = location;
     this.ThisExpression = primary;
     Indices             = indices;
 }
Exemple #9
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="expression"></param>
 public ParenthesisExpression(IParserLocation context, IExpression expression)
 {
     Expression   = expression;
     Location     = context;
     SemanticType = null;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="value"></param>
 public IntegerLiteralExpression(IParserLocation context, int value)
 {
     Value    = value;
     Location = context;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="value"></param>
 public FloatingPointLiteralExpression(IParserLocation context, double value)
 {
     Value    = value;
     Location = context;
 }
Exemple #12
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 public NullExpression(IParserLocation context)
 {
     Location = context;
 }
Exemple #13
0
 /// <summary>
 ///
 /// </summary>
 /// <param name="context"></param>
 /// <param name="expression">not null</param>
 public Query(IParserLocation context, IExpression expression)
 {
     Location   = context;
     Expression = expression;
 }
Exemple #14
0
 /// <summary>
 /// Initializes a new instance of the <see cref="VariableExpression"/> class.
 /// </summary>
 /// <param name="location">The location when parsed from a user query.</param>
 /// <param name="identifier">The identifier addressing the variable in the evaluation scope.</param>
 public VariableExpression(IParserLocation location, string identifier)
 {
     this.Location     = location;
     this.Identifier   = identifier;
     this.SemanticType = null;
 }
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="operator"></param>
 /// <param name="expression"></param>
 public UnaryOperationExpression(IParserLocation context, UnaryOperator @operator, IExpression expression)
 {
     Expression = expression;
     Operator   = @operator;
     Location   = context;
 }
Exemple #16
0
 /// <summary>
 /// Creates a exception using a <see cref="IParserLocation"/>
 /// </summary>
 /// <param name="location"></param>
 /// <param name="message"></param>
 /// <param name="innerException"></param>
 public LocateableException(IParserLocation location, string message, Exception innerException = null)
     : this(location != null ? location.StartIndex : 0, location != null ? location.StopIndex : 0, message, innerException)
 {
 }
Exemple #17
0
 /// <summary>
 /// Creates a member function call expression.
 /// </summary>
 /// <param name="context"></param>
 /// <param name="this"></param>
 /// <param name="parameters"></param>
 public FunctionCallExpression(IParserLocation context, IExpression @this, IEnumerable <IExpression> parameters)
 {
     ThisExpression = @this;
     Parameters     = parameters.ToArray();
     Location       = context;
 }
Exemple #18
0
 /// <summary>
 /// Computes the length of a range.
 /// </summary>
 /// <param name="loc"></param>
 /// <returns></returns>
 public static int GetLength(this IParserLocation loc)
 {
     return(loc.StopIndex - loc.StartIndex + 1);
 }
Exemple #19
0
 /// <summary>
 /// Constructor.
 /// </summary>
 /// <param name="context"></param>
 public EmptyExpression(IParserLocation context)
 {
     Location = context;
 }