Documentation
¶
Overview ¶
Package parser provides the logic for traversing the ANTLR generated parse tree. Provides a visitor and related functions.
Index ¶
- func IdentityTransform(e expr.Expression) expr.Expression
- type FHIRPathErrorListener
- type FHIRPathVisitor
- func (v *FHIRPathVisitor) Visit(tree antlr.ParseTree) interface{}
- func (v *FHIRPathVisitor) VisitAdditiveExpression(ctx *grammar.AdditiveExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitAndExpression(ctx *grammar.AndExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitBooleanLiteral(ctx *grammar.BooleanLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitDateLiteral(ctx *grammar.DateLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitDateTimeLiteral(ctx *grammar.DateTimeLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitDateTimePrecision(ctx *grammar.DateTimePrecisionContext) interface{}
- func (v *FHIRPathVisitor) VisitEqualityExpression(ctx *grammar.EqualityExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitExternalConstant(ctx *grammar.ExternalConstantContext) interface{}
- func (v *FHIRPathVisitor) VisitExternalConstantTerm(ctx *grammar.ExternalConstantTermContext) interface{}
- func (v *FHIRPathVisitor) VisitFunction(ctx *grammar.FunctionContext) interface{}
- func (v *FHIRPathVisitor) VisitFunctionInvocation(ctx *grammar.FunctionInvocationContext) interface{}
- func (v *FHIRPathVisitor) VisitIdentifier(ctx *grammar.IdentifierContext) interface{}
- func (v *FHIRPathVisitor) VisitImpliesExpression(ctx *grammar.ImpliesExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitIndexInvocation(ctx *grammar.IndexInvocationContext) interface{}
- func (v *FHIRPathVisitor) VisitIndexerExpression(ctx *grammar.IndexerExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitInequalityExpression(ctx *grammar.InequalityExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitInvocationExpression(ctx *grammar.InvocationExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitInvocationTerm(ctx *grammar.InvocationTermContext) interface{}
- func (v *FHIRPathVisitor) VisitLiteralTerm(ctx *grammar.LiteralTermContext) interface{}
- func (v *FHIRPathVisitor) VisitMemberInvocation(ctx *grammar.MemberInvocationContext) interface{}
- func (v *FHIRPathVisitor) VisitMembershipExpression(ctx *grammar.MembershipExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitMultiplicativeExpression(ctx *grammar.MultiplicativeExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitNullLiteral(ctx *grammar.NullLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitNumberLiteral(ctx *grammar.NumberLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitOrExpression(ctx *grammar.OrExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitParamList(ctx *grammar.ParamListContext) interface{}
- func (v *FHIRPathVisitor) VisitParenthesizedTerm(ctx *grammar.ParenthesizedTermContext) interface{}
- func (v *FHIRPathVisitor) VisitPluralDateTimePrecision(ctx *grammar.PluralDateTimePrecisionContext) interface{}
- func (v *FHIRPathVisitor) VisitPolarityExpression(ctx *grammar.PolarityExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitProg(ctx *grammar.ProgContext) interface{}
- func (v *FHIRPathVisitor) VisitQualifiedIdentifier(ctx *grammar.QualifiedIdentifierContext) interface{}
- func (v *FHIRPathVisitor) VisitQuantity(ctx *grammar.QuantityContext) interface{}
- func (v *FHIRPathVisitor) VisitQuantityLiteral(ctx *grammar.QuantityLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitStringLiteral(ctx *grammar.StringLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitTermExpression(ctx *grammar.TermExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitThisInvocation(ctx *grammar.ThisInvocationContext) interface{}
- func (v *FHIRPathVisitor) VisitTimeLiteral(ctx *grammar.TimeLiteralContext) interface{}
- func (v *FHIRPathVisitor) VisitTotalInvocation(ctx *grammar.TotalInvocationContext) interface{}
- func (v *FHIRPathVisitor) VisitTypeExpression(ctx *grammar.TypeExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitTypeSpecifier(ctx *grammar.TypeSpecifierContext) interface{}
- func (v *FHIRPathVisitor) VisitUnionExpression(ctx *grammar.UnionExpressionContext) interface{}
- func (v *FHIRPathVisitor) VisitUnit(ctx *grammar.UnitContext) interface{}
- type VisitResult
- type VisitorTransform
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func IdentityTransform ¶
func IdentityTransform(e expr.Expression) expr.Expression
IdentityTransform returns the given expression without any modification.
Types ¶
type FHIRPathErrorListener ¶
type FHIRPathErrorListener struct { *antlr.DefaultErrorListener // contains filtered or unexported fields }
func (*FHIRPathErrorListener) Error ¶
func (l *FHIRPathErrorListener) Error() error
func (*FHIRPathErrorListener) SyntaxError ¶
func (l *FHIRPathErrorListener) SyntaxError(recognizer antlr.Recognizer, offendingSymbol interface{}, line, column int, msg string, e antlr.RecognitionException)
type FHIRPathVisitor ¶
type FHIRPathVisitor struct { *grammar.BasefhirpathVisitor Functions funcs.FunctionTable Transform VisitorTransform Permissive bool // contains filtered or unexported fields }
func (*FHIRPathVisitor) Visit ¶
func (v *FHIRPathVisitor) Visit(tree antlr.ParseTree) interface{}
func (*FHIRPathVisitor) VisitAdditiveExpression ¶
func (v *FHIRPathVisitor) VisitAdditiveExpression(ctx *grammar.AdditiveExpressionContext) interface{}
func (*FHIRPathVisitor) VisitAndExpression ¶
func (v *FHIRPathVisitor) VisitAndExpression(ctx *grammar.AndExpressionContext) interface{}
func (*FHIRPathVisitor) VisitBooleanLiteral ¶
func (v *FHIRPathVisitor) VisitBooleanLiteral(ctx *grammar.BooleanLiteralContext) interface{}
VisitBooleanLiteral returns a BooleanLiteralExpression, returning an error if there is an error during creation of the Boolean.
func (*FHIRPathVisitor) VisitDateLiteral ¶
func (v *FHIRPathVisitor) VisitDateLiteral(ctx *grammar.DateLiteralContext) interface{}
VisitDateLiteral returns a DateLiteralExpression, returning an error if there is an error during creation of the Date type.
func (*FHIRPathVisitor) VisitDateTimeLiteral ¶
func (v *FHIRPathVisitor) VisitDateTimeLiteral(ctx *grammar.DateTimeLiteralContext) interface{}
VisitDateTimeLiteral returns a DateTimeLiteralExpression, returning an error if there is an error during creation of the DateTime type.
func (*FHIRPathVisitor) VisitDateTimePrecision ¶
func (v *FHIRPathVisitor) VisitDateTimePrecision(ctx *grammar.DateTimePrecisionContext) interface{}
func (*FHIRPathVisitor) VisitEqualityExpression ¶
func (v *FHIRPathVisitor) VisitEqualityExpression(ctx *grammar.EqualityExpressionContext) interface{}
VisitEqualityExpression both equality subexpressions and constructs an Equality Expression from the results of each subexpression
func (*FHIRPathVisitor) VisitExternalConstant ¶
func (v *FHIRPathVisitor) VisitExternalConstant(ctx *grammar.ExternalConstantContext) interface{}
func (*FHIRPathVisitor) VisitExternalConstantTerm ¶
func (v *FHIRPathVisitor) VisitExternalConstantTerm(ctx *grammar.ExternalConstantTermContext) interface{}
func (*FHIRPathVisitor) VisitFunction ¶
func (v *FHIRPathVisitor) VisitFunction(ctx *grammar.FunctionContext) interface{}
func (*FHIRPathVisitor) VisitFunctionInvocation ¶
func (v *FHIRPathVisitor) VisitFunctionInvocation(ctx *grammar.FunctionInvocationContext) interface{}
func (*FHIRPathVisitor) VisitIdentifier ¶
func (v *FHIRPathVisitor) VisitIdentifier(ctx *grammar.IdentifierContext) interface{}
func (*FHIRPathVisitor) VisitImpliesExpression ¶
func (v *FHIRPathVisitor) VisitImpliesExpression(ctx *grammar.ImpliesExpressionContext) interface{}
func (*FHIRPathVisitor) VisitIndexInvocation ¶
func (v *FHIRPathVisitor) VisitIndexInvocation(ctx *grammar.IndexInvocationContext) interface{}
func (*FHIRPathVisitor) VisitIndexerExpression ¶
func (v *FHIRPathVisitor) VisitIndexerExpression(ctx *grammar.IndexerExpressionContext) interface{}
VisitIndexerExpression visits both the left side expression and right side expression, and constructs an index expression. If the right side expression does not evaluate to an Integer, returns an error
func (*FHIRPathVisitor) VisitInequalityExpression ¶
func (v *FHIRPathVisitor) VisitInequalityExpression(ctx *grammar.InequalityExpressionContext) interface{}
func (*FHIRPathVisitor) VisitInvocationExpression ¶
func (v *FHIRPathVisitor) VisitInvocationExpression(ctx *grammar.InvocationExpressionContext) interface{}
VisitInvocationExpression visits both sides, and constructs an expression sequence.
func (*FHIRPathVisitor) VisitInvocationTerm ¶
func (v *FHIRPathVisitor) VisitInvocationTerm(ctx *grammar.InvocationTermContext) interface{}
func (*FHIRPathVisitor) VisitLiteralTerm ¶
func (v *FHIRPathVisitor) VisitLiteralTerm(ctx *grammar.LiteralTermContext) interface{}
func (*FHIRPathVisitor) VisitMemberInvocation ¶
func (v *FHIRPathVisitor) VisitMemberInvocation(ctx *grammar.MemberInvocationContext) interface{}
VisitMemberInvocation checks to see if the identifier corresponds to a resource type and is the root of the expression. If so, it will return a TypeExpression. Otherwise, it returns a FieldExpression.
func (*FHIRPathVisitor) VisitMembershipExpression ¶
func (v *FHIRPathVisitor) VisitMembershipExpression(ctx *grammar.MembershipExpressionContext) interface{}
func (*FHIRPathVisitor) VisitMultiplicativeExpression ¶
func (v *FHIRPathVisitor) VisitMultiplicativeExpression(ctx *grammar.MultiplicativeExpressionContext) interface{}
func (*FHIRPathVisitor) VisitNullLiteral ¶
func (v *FHIRPathVisitor) VisitNullLiteral(ctx *grammar.NullLiteralContext) interface{}
VisitNullLiteral returns a NullLiteralExpression, without any error.
func (*FHIRPathVisitor) VisitNumberLiteral ¶
func (v *FHIRPathVisitor) VisitNumberLiteral(ctx *grammar.NumberLiteralContext) interface{}
VisitNumberLiteral returns either an integer or decimal, depending on whether or not the number contains a decimal. Returns an error if there is an error during creation of the number.
func (*FHIRPathVisitor) VisitOrExpression ¶
func (v *FHIRPathVisitor) VisitOrExpression(ctx *grammar.OrExpressionContext) interface{}
func (*FHIRPathVisitor) VisitParamList ¶
func (v *FHIRPathVisitor) VisitParamList(ctx *grammar.ParamListContext) interface{}
func (*FHIRPathVisitor) VisitParenthesizedTerm ¶
func (v *FHIRPathVisitor) VisitParenthesizedTerm(ctx *grammar.ParenthesizedTermContext) interface{}
func (*FHIRPathVisitor) VisitPluralDateTimePrecision ¶
func (v *FHIRPathVisitor) VisitPluralDateTimePrecision(ctx *grammar.PluralDateTimePrecisionContext) interface{}
func (*FHIRPathVisitor) VisitPolarityExpression ¶
func (v *FHIRPathVisitor) VisitPolarityExpression(ctx *grammar.PolarityExpressionContext) interface{}
func (*FHIRPathVisitor) VisitProg ¶
func (v *FHIRPathVisitor) VisitProg(ctx *grammar.ProgContext) interface{}
func (*FHIRPathVisitor) VisitQualifiedIdentifier ¶
func (v *FHIRPathVisitor) VisitQualifiedIdentifier(ctx *grammar.QualifiedIdentifierContext) interface{}
func (*FHIRPathVisitor) VisitQuantity ¶
func (v *FHIRPathVisitor) VisitQuantity(ctx *grammar.QuantityContext) interface{}
func (*FHIRPathVisitor) VisitQuantityLiteral ¶
func (v *FHIRPathVisitor) VisitQuantityLiteral(ctx *grammar.QuantityLiteralContext) interface{}
VisitQuantityLiteral returns a QuantityLiteralExpression, returning an error if there is an error during creation of the Quantity type.
func (*FHIRPathVisitor) VisitStringLiteral ¶
func (v *FHIRPathVisitor) VisitStringLiteral(ctx *grammar.StringLiteralContext) interface{}
VisitStringLiteral returns a StringLiteralExpression, returning an error if there is an error during creation of the String.
func (*FHIRPathVisitor) VisitTermExpression ¶
func (v *FHIRPathVisitor) VisitTermExpression(ctx *grammar.TermExpressionContext) interface{}
func (*FHIRPathVisitor) VisitThisInvocation ¶
func (v *FHIRPathVisitor) VisitThisInvocation(ctx *grammar.ThisInvocationContext) interface{}
func (*FHIRPathVisitor) VisitTimeLiteral ¶
func (v *FHIRPathVisitor) VisitTimeLiteral(ctx *grammar.TimeLiteralContext) interface{}
VisitTimeLiteral returns a TimeLiteralExpression, returning an error if there is an error during creation of the Time type.
func (*FHIRPathVisitor) VisitTotalInvocation ¶
func (v *FHIRPathVisitor) VisitTotalInvocation(ctx *grammar.TotalInvocationContext) interface{}
func (*FHIRPathVisitor) VisitTypeExpression ¶
func (v *FHIRPathVisitor) VisitTypeExpression(ctx *grammar.TypeExpressionContext) interface{}
func (*FHIRPathVisitor) VisitTypeSpecifier ¶
func (v *FHIRPathVisitor) VisitTypeSpecifier(ctx *grammar.TypeSpecifierContext) interface{}
func (*FHIRPathVisitor) VisitUnionExpression ¶
func (v *FHIRPathVisitor) VisitUnionExpression(ctx *grammar.UnionExpressionContext) interface{}
func (*FHIRPathVisitor) VisitUnit ¶
func (v *FHIRPathVisitor) VisitUnit(ctx *grammar.UnitContext) interface{}
type VisitResult ¶
type VisitResult struct { Result expr.Expression Error error }
type VisitorTransform ¶
type VisitorTransform func(expr.Expression) expr.Expression
A VisitorTransform is a function which transforms the specified expression. This is used in FHIRPath Patch to modify expressions.