absyntax_utils/array_dimension_iterator.hh
changeset 562 044238931066
parent 377 60b012b7793f
equal deleted inserted replaced
561:30a327be60d4 562:044238931066
    52 class array_dimension_iterator_c : public null_visitor_c {
    52 class array_dimension_iterator_c : public null_visitor_c {
    53   private:
    53   private:
    54     /* a pointer to the array_specification_c currently being analyzed */
    54     /* a pointer to the array_specification_c currently being analyzed */
    55     symbol_c *array_specification;
    55     symbol_c *array_specification;
    56     /* used when called to iterate() for a parameter */
    56     /* used when called to iterate() for a parameter */
    57     symbol_c *current_array_dimension;
    57     subrange_c *current_array_dimension;
    58 
    58 
    59   private:
    59   private:
    60     void* iterate_list(list_c *list);
    60     void* iterate_list(list_c *list);
    61 
    61 
    62   public:
    62   public:
    63     /* start off at the first dimension once again... */
    63     /* start off at the first dimension once again... */
    64     void reset(void);
    64     void reset(void);
    65 
    65 
    66     /* initialize the iterator object.
    66     /* initialize the iterator object.
    67      * We must be given a reference to a case_list_c that will be analyzed...
    67      * We must be given a reference to a array_specification_c that will be analyzed...
    68      */
    68      */
    69     array_dimension_iterator_c(symbol_c *symbol);
    69     array_dimension_iterator_c(symbol_c *symbol);
    70 
    70 
    71     /* Skip to the next subrange. After object creation,
    71     /* Skip to the next subrange. After object creation,
    72      * the object references on subrange _before_ the first, so
    72      * the object references on subrange _before_ the first, so
    73      * this function must be called once to get the object to
    73      * this function must be called once to get the object to
    74      * reference the first subrange...
    74      * reference the first subrange...
    75      *
    75      *
    76      * Returns the subrange symbol!
    76      * Returns the subrange symbol!
    77      */
    77      */
    78     symbol_c *next(void);
    78     subrange_c *next(void);
       
    79     
    79 
    80 
    80     private:
    81     private:
    81     
    82     
    82     /********************************/
    83     /********************************/
    83     /* B 1.3.3 - Derived data types */
    84     /* B 1.3.3 - Derived data types */