Non-terminal symbol Expression

rule(s)occurrences


Description

This nonterminal node rules express the several possible syntactic forms of an AQL expression:
  • a (possibly typed) untyped expression [see UntypedExpression];
  • an allocation expression [see Allocation];
  • an expression seen as value of a defined opaque type (whose defining type is that of the expression) [see as];
  • an expression of opaque type being seen as a value of its underlying defining type [see $] (N.B.: this has the same as using the prefix operator 'strip');
  • a parenthesized expression.


Defining rules for nonterminal symbol Expression:

Expression UntypedExpression  Typing_opt 
Allocation 
Expression  'asType 
'$Expression 
'(Expression_opt  ')


Occurrences of symbol Expression in body of other rules:

Statement '?Expression  EOS 
Statement Expression  EOS 
Initialization_opt '=Expression 
Definition Operator  FunctionParameters_opt  Typing_opt  '=Expression 
Expression_opt Expression 
Allocation 'newType  Dimensions  '=Expression 
UntypedExpression Expression  '!Expression 
UntypedExpression 'functionFunctionParameters  Expression 
UntypedExpression Expression  Arguments 
UntypedExpression 'ifUntypedExpression  'thenExpression  'elseExpression 
UntypedExpression 'whileUntypedExpression  'doExpression 
UntypedExpression 'letLocals  'inExpression 
UntypedExpression Location  '=Expression 
UntypedExpression Expression  '.Member 
UntypedExpression 'hom'  '(Expression  ',Expression  ',Expression  ',Expression  ')
NamedTupleComponent ID  ':=Expression 
IndexedExpression UntypedExpression  ':Expression 
ArraySlotExpression Expression  '[Expression  ']
OperatorExpression OPERATOR_  Expression 
OperatorExpression Expression  _OPERATOR 
OperatorExpression Expression  _OPERATOR_  Expression 
Expressions Expression 
Expressions Expressions  ',Expression 
Location Expression  '.ID 
ExpressionSequence_opt Expression  ';
ExpressionSequence_opt ExpressionSequence_opt  Expression  ';
Comprehension Monoid  '{Expression  '|Qualifiers_opt  '}
Monoid '[Expression  ',Expression  ']InPlace_opt 
Qualifier Expression 
Qualifier Expression  '<-Expression 


Copyright © 2012 by Hassan Aït-Kaci; All Rights Reserved.