next up previous contents
Next: Order indicators Up: Predicates in rules Previous: The Object/ANY class

Relation modifiers


\begin{verbsyntax}\onerule{RelationModifier}{'succ' \vert 'pred'}
\end{verbsyntax}

Relation modifiers serve to indicate which kind of functions should be called to navigate in the generated code. From 's point of view a functor-created graph defines two default fields for the parameter domains of the functor application. These two default fields can be used as predicates in clauses. For instance, if we have the following CoSy-fSDL definition


\begin{examplefoot}domain Proc : \{
Procedure < BlockGraph: SGRAPH(BasicBlock) >
> \}
domain BasicBlock : \{
BasicBlock < >
> \}
\end{examplefoot}

then the functor call BlockGraph: SGRAPH(BasicBlock) creates for domain BasicBlock two default fields BlockGraph and BlockGraph.pred. These field names denote all successors resp. predecessors of a BasicBlock concerning the functor-created graph BlockGraph. With p.succ or p the successor relation of graph p is denoted, with p.pred the predecessor relation is denoted.



Uwe Assmann
1998-12-22