|  | Home | Libraries | People | FAQ | More | 
The notation we use is of the form:
a: A, b: B, ... --> composite-expression: composite-attribute
          a, b,
          etc. are the operands. A,
          B, etc. are the operand's
          attribute types. composite-expression
          is the expression involving the operands and composite-attribute
          is the resulting attribute type of the composite expression.
        
For instance:
a: A, b: B --> (a << b): tuple<A, B>
          which reads as: given, a
          and b are generators, and
          A is the type of the attribute
          of a, and B is the type of the attribute of b, then the type of the attribute of
          a <<
          b will be tuple<A, B>.
        
| ![[Important]](../../../images/important.png) | Important | 
|---|---|
| 
            In the attribute tables, we will use  | 
| Expression | Attribute | 
|---|---|
| 
                    Sequence
                    ( | 
 a: A, b: B --> (a << b): tuple<A, B> a: A, b: Unused --> (a << b): A a: Unused, b: B --> (a << b): B a: Unused, b: Unused --> (a << b): Unused a: A, b: A --> (a << b): vector<A> a: vector<A>, b: A --> (a << b): vector<A> a: A, b: vector<A> --> (a << b): vector<A> a: vector<A>, b: vector<A> --> (a << b): vector<A> 
 | 
| 
                    Alternative
                    ( | 
 a: A, b: B --> (a | b): variant<A, B> a: A, b: Unused --> (a | b): A a: Unused, b: B --> (a | b): B a: Unused, b: Unused --> (a | b): Unused a: A, b: A --> (a | b): A 
 | 
| 
 a: A --> *a: vector<A> a: Unused --> *a: Unused 
 | |
| 
                    Plus (unary
                     | 
 a: A --> +a: vector<A> a: Unused --> +a: Unused 
 | 
| 
                    List ( | 
 a: A, b: B --> (a % b): vector<A> a: Unused, b: B --> (a % b): Unused 
 | 
| 
                    Repetition
                    ( | 
 a: A --> repeat(...,...)[a]: vector<A> a: Unused --> repeat(...,...)[a]: Unused 
 | 
| 
                    Optional
                    (unary  | 
 a: A --> -a: optional<A> a: Unused --> -a: Unused 
 | 
| 
                     | |
| 
                     |