Changes between Version 35 and Version 36 of AST


Ignore:
Timestamp:
04/25/11 13:35:24 (15 years ago)
Author:
Stephen Siegel
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AST

    v35 v36  
    8787       * methods
    8888           * referent: VariableDeclarationNodeIF
    89      * TypeReferenceNodeIF extends ReferenceNodeIF
    90         * methods
    91             * referent: TypeNodeIF
    9289     * LabelReferenceNodeIF
    9390        * methods
     
    103100       * name: string
    104101 * TypeNodeIF: a type expression
     102    * TypeReferenceNodeIF
     103       * no children
     104       * methods
     105           * referent: TypeNodeIF: the type being referred to
    105106    * VoidTypeNodeIF: the type "void" used, for example, as the return type for a function that does not return anything
     107        * no children
    106108    * IntegerTypeNodeIF: an integer type, such as "int" or "long int" or "short int" in C
    107109       * integer sub-types, specified by parameters
     110       * no children
    108111    * RealTypeNodeIF: a real type, such as "float" or "double" in C
    109112       * real sub-stypes, specified by parameters (e.g., IEEE754 floating point numbers)
     113       * no children
    110114    * BooleanTypeNodeIF: the boolean type
     115       * no children
    111116    * CharacterTypeNodeIF: the character type (char in C)
     117        * no children
    112118    * ArrayTypeNodeIF: an array type
    113119       * methods
    114           * elementType: TypeReferenceNodeIF
     120          * elementType: TypeNodeIF (child 0)
    115121          * extent: ?  This is complicated.   The extent might be an expression involving input variables.
    116122    * PointerTypeNodeIF
    117123       * methods
    118            * baseType: TypeReferenceNodeIF
     124           * baseType: TypeNodeIF (child 0)
    119125    * CompositeTypeNodeIF: "struct" or "union" in C
    120126       * methods
     
    122128          * name: IdentifierNodeIF
    123129          * numFields: int
    124           * field(int i): PairNode<IdentifierNodeIF,TypeReferenceNodeIF>
    125           * fields: Iterator<PairNode<IdentifierNodeIF,TypeReferenceNodeIF>>
     130          * field(int i): PairNode<IdentifierNodeIF,TypeNodeIF>
     131          * fields: Iterator<PairNode<IdentifierNodeIF,TypeNodeIF>>
    126132    * FunctionTypeNodeIF
    127133       * methods
    128134          * numInputs: int
    129           * inputType(int i): TypeReferenceNodeIF
    130           * inputTypes: Iterator<TypeReferenceNodeIF>
     135          * inputType(int i): TypeNodeIF
     136          * inputTypes: Iterator<TypeNodeIF>
    131137    * EnumerationTypeNodeIF
    132138       * methods
     
    142148       * scope: ScopeIF
    143149       * name: IdentifierNodeIF
    144        * type: TypeReferenceNodeIF
     150       * type: TypeNodeIF
    145151       * typeQualifier: CONST, VOLATILE
    146152       * storageClass: EXTERNAL, AUTO, STATIC, REGISTER
     
    155161       * formal(int i): VariableDeclarationNodeIF
    156162       * formals: Iterator<VariableDeclarationNodeIF>
    157        * outputType: TypeReferenceNodeIF
     163       * outputType: TypeNodeIF
    158164       * body: BlockNodeIF (null iff !isDefinition)
    159165 * TypeDefinitionNodeIF
     
    161167    * methods
    162168       * name: IdentifierNodeIF
    163        * type: TypeReferenceNodeIF  (type being assigned a name)
     169       * type: TypeNodeIF  (type being assigned a name)
    164170 * LabelNodeIF: a label preceding a statement
    165171    * methods
     
    225231             * ADD, ADD_POINTER_INT, ADDRESS_OF, BIT_AND, BIT_NOT, BIT_OR, BIT_XOR, DEREFERENCE, DIVIDE, EQUALS, GREATER_THAN, GTE, IF_THEN_ELSE, LEQ, LESS_THAN, LOGICAL_AND, LOGICAL_NOT, LOGICAL_OR, MODULO, MULTIPLY, NAVIGATE (DOT), NEGATIVE, NOT_EQUALS, SHIFT_LEFT, SHIFT_RIGHT, SUBSCRIPT, SUBTRACT, SUBTRACT_POINTER_INT, SUBTRACT_POINTER_POINTER
    226232          * CastNodeIF
    227              * newType: TypeReferenceNodeIF (type you are casting to)
     233             * newType: TypeNodeIF (type you are casting to)
    228234             * expression: ExpressionNodeIF
    229235          * QuantifierNodeIF