nodeclasses.html

`nodeclasses.grm`

    // FILE. . . . . /home/hak/hlt/src/hlt/language/jaccapps/aql/sources/nodeclasses.grm
    // EDIT BY . . . Hassan Ait-Kaci
    // ON MACHINE. . Hp-Dv7
    // STARTED ON. . Wed Oct 17 23:56:44 2012

This is an auxiliary file for the AQL language grammar defining the node classes for the objects used in its semantic rules.
Author: |  | Hassan Aït-Kaci
Copyright: |  | © by the author
Version: |  | Last modified on Thu Oct 18 00:32:44 2012 by hak

    /* ************************************************************************************* */
    /* **************************  AQL GRAMMAR'S NODE CLASSES  ***************************** */
    /* ************************************************************************************* */

    %nodeclass Typing_opt
      {
        Type type;
      }

    %nodeclass Typing extends Typing_opt
      {
      }

    %nodeclass Type extends Typing_opt
      {
      }

    %nodeclass Type_opt extends Type
      {
      }

    %nodeclass TypeConstant extends Type
      {
      }

    %nodeclass PrimitiveType extends TypeConstant
      {
      }

    %nodeclass FunctionType extends Type
      {
      }

    %nodeclass TupleType extends Type
      {
      }

    %nodeclass TupleTypeComponents extends TupleType
      {
      }

    %nodeclass NamedTupleTypeComponents extends Types
      {
        ArrayList fields;

        void undo ()
          {
            super.undo();
            Utilities.popList(fields);
          }
      }

    %nodeclass NamedTupleTypeComponent extends Typing
      {
      }

    %nodeclass ArrayType extends Type
      {
      }

    %nodeclass IndexType extends Type
      {
      }

    %nodeclass MapIndexType extends IndexType
      {
      }

    %nodeclass CollectionType extends Type
      {
      }

    %nodeclass SetType extends CollectionType
      {
      }

    %nodeclass SetKind_opt extends CollectionKind
      {
      }

    %nodeclass SetKind extends SetKind_opt
      {
      }

    %nodeclass CollectionKind
      {
        int kind = Type.SET;
      }

    %nodeclass NonSetKind
      {
        int kind = Type.BAG;
      }

    %nodeclass IntRangeType extends Type
      {
      }

    %nodeclass RealRangeType extends Type
      {
      }

    %nodeclass TypeTerm extends Type
      {
      }

    %nodeclass Types_opt
      {
        ArrayList types;

        void undo ()
          {
            Utilities.popList(types);
          }
      }

    %nodeclass Types extends Types_opt
      {
      }

    %nodeclass Interface
      {
        ArrayList symbols;
        ArrayList types;
        ArrayList expressions;

        void undo ()
          {
            Utilities.popList(symbols);
            Utilities.popList(types);
            Utilities.popList(expressions);
          }
      }

    %nodeclass MemberDeclarations_opt extends Interface
      {
      }

    %nodeclass MemberDeclaration locates expression
      {
        String symbol;
        Type type;
        Expression expression;
      }

    %nodeclass Initialization_opt extends Expression
      {
      }

    %nodeclass Implementation_opt
      {
        ArrayList symbols;
        ArrayList parameters;
        ArrayList types;
        ArrayList expressions;

        void undo ()
          {
            Utilities.popList(symbols);
            Utilities.popList(parameters);
            Utilities.popList(types);
            Utilities.popList(expressions);
          }
      }

    %nodeclass Definitions_opt extends Implementation_opt
      {
      }

    %nodeclass Definition locates expression
      {
        String symbol;
        ArrayList parameters;
        ArrayList types;
        Expression expression;
      }

    %nodeclass FunctionParameters_opt
      {
        ArrayList parameters;
        ArrayList types;
      }

    %nodeclass FunctionParameters extends FunctionParameters_opt
      {
      }

    %nodeclass Parameters_opt extends FunctionParameters
      {
      }

    %nodeclass Parameters extends Parameters_opt
      {
      }

    %nodeclass Parameter
      {
        String name;
        Type type;
      }

    %nodeclass Expression locates expression
      {
        Expression expression;
      }

    %nodeclass Expression_opt extends Expression
      {
      }

    %nodeclass Allocation extends Expression
      {
      }

    %nodeclass UntypedExpression extends Expression
      {
      }

    %nodeclass Literal extends Expression
      {
      }

    %nodeclass TupleExpression extends Expression
      {
      }

    %nodeclass TupleComponents extends TupleExpression
      {
      }

    %nodeclass NamedTupleComponents extends Expressions
      {
        ArrayList fields;

        void undo ()
          {
            super.undo();
            Utilities.popList(fields);
          }
      }

    %nodeclass NamedTupleComponent extends Expression
      {
      }

    %nodeclass TupleProjection extends TupleExpression
      {
      }

    %nodeclass TupleSelector locates selector
      {
        Constant selector;
      }

    %nodeclass ArrayExtension
      {
        ArrayList elements;
        ArrayList indices;
      }

    %nodeclass IndexedExpressions extends ArrayExtension
      {
        void undo ()
          {
            Utilities.popList(elements);
            Utilities.popList(indices);
          }
      }

    %nodeclass IndexedExpression
      {
        Expression element;
        Expression index;
      }

    %nodeclass ArraySlotExpression extends Expression
      {
      }

    %nodeclass OperatorExpression extends Expression
      {
      }

    %nodeclass Arguments
      {
        ArrayList expressions;

        void undo ()
          {
            Utilities.popList(expressions);
          }
      }

    %nodeclass Expressions_opt extends Arguments
      {
      }

    %nodeclass Expressions extends Expressions_opt
      {
      }

    %nodeclass Dimensions extends Arguments
      {
      }

    %nodeclass Dimensions_opt extends Dimensions
      {
      }

    %nodeclass Dimension extends UntypedExpression
      {
      }

    %nodeclass Locals
      {
        ArrayList parameters;
        ArrayList expressions;
        ArrayList types;

        void undo ()
          {
            Utilities.popList(parameters);
            Utilities.popList(expressions);
            Utilities.popList(types);
          }
      }

    %nodeclass Local locates expression
      {
        String parameter;
        Expression expression;
        Type type;
      }

    %nodeclass Location locates expression
      {
        String name;
        Expression expression;
      }

    %nodeclass Member
      {
        String name;
        ArrayList arguments;
      }

    %nodeclass Sequence extends Expression
      {
      }

    %nodeclass ExpressionSequence_opt extends Expressions
      {
      }

    %nodeclass Comprehension extends Expression
      {
      }

    %nodeclass Monoid
      {
        Expression operation;
        Expression identity;
      }

    %nodeclass Qualifiers_opt
      {
        ArrayList patterns;
        ArrayList expressions;

        void undo ()
          {
            Utilities.popList(patterns);
            Utilities.popList(expressions);
          }
      }

    %nodeclass Qualifiers extends Qualifiers_opt
      {
      }

    %nodeclass Qualifier extends Expression
      {
        Expression pattern;
      }

    /* ************************************************************************************* */

This file was generated on Wed Jan 30 13:24:30 CET 2013 from file `nodeclasses.grm`
by the `hlt.language.tools.Hilite` Java tool written by Hassan Aït-Kaci