Package org.ehrbase.aql.compiler
Class QueryCompilerPass2
java.lang.Object
org.ehrbase.aql.parser.AqlBaseListener
org.ehrbase.aql.compiler.QueryCompilerPass2
- All Implemented Interfaces:
org.antlr.v4.runtime.tree.ParseTreeListener,AqlListener
AQL compilation pass 2
This pass uses the results of pass 1 to:
- resolve AQL paths from symbols, example: c/items[at0002]/items[at0001]/value/value/magnitude
- create the list of variables used in SELECT
- create the list of ORDER BY expression parts
- set the TOP clause if specified
- Since:
- 1.0
- Author:
- Christian Chevalley, Stefan Spiska
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidexitFunction(AqlParser.FunctionContext functionContext) Exit a parse tree produced byAqlParser.function().voidExit a parse tree produced byAqlParser.limit().voidexitNodePredicateComparable(AqlParser.NodePredicateComparableContext nodePredicateComparableContext) Exit a parse tree produced byAqlParser.nodePredicateComparable().voidexitObjectPath(AqlParser.ObjectPathContext objectPathContext) Exit a parse tree produced byAqlParser.objectPath().voidExit a parse tree produced byAqlParser.offset().voidExit a parse tree produced byAqlParser.orderBySeq().voidexitSelectExpr(AqlParser.SelectExprContext selectExprContext) Exit a parse tree produced byAqlParser.selectExpr().voidexitTopExpr(AqlParser.TopExprContext context) Exit a parse tree produced byAqlParser.topExpr().voidhandleExtensionDefinition(AqlParser.ExtensionContext extensionContext, AqlParser.SelectExprContext inSelectExprContext) voidhandleTerminalNodeExpression(AqlParser.StdExpressionContext inStdExpressionContext, AqlParser.SelectExprContext inSelectExprContext) Methods inherited from class org.ehrbase.aql.parser.AqlBaseListener
enterArchetypedClassExpr, enterCastFunction, enterClassExpr, enterContainExpressionBool, enterContains, enterContainsExpression, enterEveryRule, enterExtension, enterFrom, enterFromEHR, enterFromExpr, enterFromForeignData, enterFunction, enterIdentifiedEquality, enterIdentifiedExpr, enterIdentifiedOperand, enterIdentifiedPath, enterInvokeExpr, enterInvokeOperand, enterJoinPredicate, enterLimit, enterMatchesOperand, enterNodePredicateAnd, enterNodePredicateComparable, enterNodePredicateOr, enterNodePredicateRegEx, enterObjectPath, enterOffset, enterOperand, enterOrderBy, enterOrderByExpr, enterOrderBySeq, enterPathPart, enterPredicate, enterPredicateAnd, enterPredicateEquality, enterPredicateExpr, enterPredicateOperand, enterQuery, enterQueryExpr, enterSelect, enterSelectExpr, enterSimpleClassExpr, enterStandardPredicate, enterStdExpression, enterTopExpr, enterValueListItems, enterVersionClassExpr, enterVersionedClassExpr, enterVersionpredicate, enterVersionpredicateOptions, enterWhere, exitArchetypedClassExpr, exitCastFunction, exitClassExpr, exitContainExpressionBool, exitContains, exitContainsExpression, exitEveryRule, exitExtension, exitFrom, exitFromEHR, exitFromExpr, exitFromForeignData, exitIdentifiedEquality, exitIdentifiedExpr, exitIdentifiedOperand, exitIdentifiedPath, exitInvokeExpr, exitInvokeOperand, exitJoinPredicate, exitMatchesOperand, exitNodePredicateAnd, exitNodePredicateOr, exitNodePredicateRegEx, exitOperand, exitOrderBy, exitOrderByExpr, exitPathPart, exitPredicate, exitPredicateAnd, exitPredicateEquality, exitPredicateExpr, exitPredicateOperand, exitQuery, exitQueryExpr, exitSelect, exitSimpleClassExpr, exitStandardPredicate, exitStdExpression, exitValueListItems, exitVersionClassExpr, exitVersionedClassExpr, exitVersionpredicate, exitVersionpredicateOptions, exitWhere, visitErrorNode, visitTerminal
-
Constructor Details
-
QueryCompilerPass2
public QueryCompilerPass2()
-
-
Method Details
-
exitObjectPath
Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.objectPath().The default implementation does nothing.
- Specified by:
exitObjectPathin interfaceAqlListener- Overrides:
exitObjectPathin classAqlBaseListener- Parameters:
objectPathContext- the parse tree
-
exitSelectExpr
Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.selectExpr().The default implementation does nothing.
- Specified by:
exitSelectExprin interfaceAqlListener- Overrides:
exitSelectExprin classAqlBaseListener- Parameters:
selectExprContext- the parse tree
-
exitNodePredicateComparable
public void exitNodePredicateComparable(AqlParser.NodePredicateComparableContext nodePredicateComparableContext) Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.nodePredicateComparable().The default implementation does nothing.
- Specified by:
exitNodePredicateComparablein interfaceAqlListener- Overrides:
exitNodePredicateComparablein classAqlBaseListener- Parameters:
nodePredicateComparableContext- the parse tree
-
handleExtensionDefinition
public void handleExtensionDefinition(AqlParser.ExtensionContext extensionContext, AqlParser.SelectExprContext inSelectExprContext) -
handleTerminalNodeExpression
public void handleTerminalNodeExpression(AqlParser.StdExpressionContext inStdExpressionContext, AqlParser.SelectExprContext inSelectExprContext) -
exitTopExpr
Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.topExpr().The default implementation does nothing.
- Specified by:
exitTopExprin interfaceAqlListener- Overrides:
exitTopExprin classAqlBaseListener- Parameters:
context- the parse tree
-
exitOrderBySeq
Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.orderBySeq().The default implementation does nothing.
- Specified by:
exitOrderBySeqin interfaceAqlListener- Overrides:
exitOrderBySeqin classAqlBaseListener- Parameters:
context- the parse tree
-
exitOffset
Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.offset().The default implementation does nothing.
- Specified by:
exitOffsetin interfaceAqlListener- Overrides:
exitOffsetin classAqlBaseListener- Parameters:
ctx- the parse tree
-
exitLimit
Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.limit().The default implementation does nothing.
- Specified by:
exitLimitin interfaceAqlListener- Overrides:
exitLimitin classAqlBaseListener- Parameters:
ctx- the parse tree
-
exitFunction
Description copied from class:AqlBaseListenerExit a parse tree produced byAqlParser.function().The default implementation does nothing.
- Specified by:
exitFunctionin interfaceAqlListener- Overrides:
exitFunctionin classAqlBaseListener- Parameters:
functionContext- the parse tree
-
getVariables
-