Class ChainElement<N,E,T,B,TB extends B,S,I,QI,AT,R extends RelatedExpression<N,T,B,TB,S,QI,R>,A extends ASTBasedAnaphora<N,E,T,B,TB,S,I,QI,R,A>,C extends ChainElement<N,E,T,B,TB,S,I,QI,AT,R,A,C>>
- Type Parameters:
N- The node type in the ASTE- The expression typeT- The type typeB- The binding typeTB- The type binding typeS- The scope type (optional)I- The type used to represent identifiersQI- The type used to represent qualified identifiersAT- The type used for attachments to chain elements that have an anaphor part. The attachment may be used to stored e.g. an old anaphora relation.R- The sub-type of related expression to useA- The sub-type of AST-based anaphora to useC- The sub-type of chain element to use
public class ChainElement<N,E,T,B,TB extends B,S,I,QI,AT,R extends RelatedExpression<N,T,B,TB,S,QI,R>,A extends ASTBasedAnaphora<N,E,T,B,TB,S,I,QI,R,A>,C extends ChainElement<N,E,T,B,TB,S,I,QI,AT,R,A,C>> extends Object
E.g.
new String("hello"); println(helloString); println(helloString);
would be realized as three ChainElements:
ChainElement(RelatedExpressionPart)
├ ChainElement(AnaphorPart #1)
└ ChainElement(AnaphorPart #2)
This 1:N relationship between related expressions and anaphors reflects their realization via local variables. From a theoretical, linguistic point it might also suitable to consider the second anaphor to be related to the first anaphor instead of being related to the (initial) related expression. From a cognitive point in three-level semantics, the related expression and the two anaphors would refer to a single node in memory and order would occur temporally only in the order of reading.
While an ASTBasedAnaphora combines both a
RelatedExpressionPart and a AnaphorPart, an anaphoric chain
represents them as two ChainElements. That way, a two
AnaphorParts that are related to the same
RelatedExpressionPart can be represented as three
ChainElements.
-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description protectedChainElement()Used in contract testing.ChainElement(C previous, AnaphorPart<N,E,T,B,TB,S,I,QI,R,A> anaphor, AT anaphorAttachment)ChainElement(C next, RelatedExpressionPart<N,E,T,B,TB,S,I,QI,R> relatedExpression)ChainElement(C previous, List<C> next, RelatedExpressionPart<N,E,T,B,TB,S,I,QI,R> relatedExpression, AnaphorPart<N,E,T,B,TB,S,I,QI,R,A> anaphor, AT anaphorAttachment)ChainElement(List<C> next, RelatedExpressionPart<N,E,T,B,TB,S,I,QI,R> relatedExpression) -
Method Summary
-
Field Details
-
previous
-
next
-
anaphor
-
anaphorAttachment
-
-
Constructor Details
-
ChainElement
protected ChainElement()Used in contract testing. -
ChainElement
-
ChainElement
-
ChainElement
-
ChainElement
-
-
Method Details