-
Key: ALF-1
-
Legacy Issue Number: 16028
-
Status: closed
-
Source: RPC Software ( Ted Stockwell)
-
Summary:
The abstract syntax defined in Section 8.3.7 (Invocation Expressions) and
Section 8.3.9 (Behavior Invocation Expressions) will not match this
expression...this.monitor.getActiveSensor().getReading()
(NOTE: the above expression is used as an example in Section 8.5.6 - Isolation
Expressions)The issue seems to be that the definition of InvocationExpression does not
repeat.Here is the current definition for InvocationExpression...
InvocationExpression= InvocationTarget Tuple
InvocationTarget= BehaviorInvocationTargetFeatureInvocationTarget SuperInvocationTarget Maybe the definition for InvocationTarget should be something like this?...
InvocationExpression= InvocationTarget Tuple
{ "." InvocationTarget Tuple } -
Reported: ALF 1.0b1 — Tue, 15 Feb 2011 05:00 GMT
-
Disposition: Resolved — ALF 1.0b2
-
Disposition Summary:
The expression “this.monitor.getActiveSensor().getReading()” is not a behavior invocation expression, it is a feature invocation expression. The production needed is the one for FeatureInvocationTarget in Subclause 8.3.10:
FeatureInvocationTarget(e: FeatureInvocationExpression)
= FeatureReference(e.target) | "this"The expression given in the issues parses in full as follows:
FeatureInvocationExpression
FeatureInvocationTarget
FeatureReference
FeatureTargetExpression
NonNamePrimaryExpression
InvocationExpression [ <- Note recursion on InvocationExpression here ]
FeatureInvocationExpression
FeatureInvocationTarget
FeatureReference
FeatureTargetExpression
NonNamePrimaryExpression
PropertyAccessExpression
FeatureReference
FeatureTargetExpression
NonNamePrimaryExpression
ThisExpression
NameBinding
Name
“monitor”
NameBinding
Name
“getActiveSensor”
Tuple
NameBinding
Name
“getReading”
Tuple -
Updated: Fri, 6 Mar 2015 20:57 GMT
ALF — [ALF] Issue with Section 8.3.6 - Invocation Expressions
- Key: ALF-1
- OMG Task Force: ALF 1.0 FTF