infers types for variables by looking up the predicates as fields in the data model. Sometimes it cannot infer the class of a variable, it may infer different types for variables, or it may find a type which is too general.3.3 Then the user can help by giving additional declarations for variables. They hold for all rules of the current rule group.
A node declaration is much like a variable declaration either as in Modula-2, or as in Java. In Java mode, a Java class must be given as type. In AST-mode a class must be given as type, in CoSy-fSDL-mode domains and/or operators have to be given. then incooperates these declarations into his type inference. Declarations of external functions are in section 3.6.3, view declarations in section 3.8.4.