absyntax/absyntax.hh
changeset 417 d48f53715f77
parent 350 2c3c4dc34979
child 438 744b125d911e
equal deleted inserted replaced
416:0c2ef191b22a 417:d48f53715f77
    45 #ifndef _ABSYNTAX_HH
    45 #ifndef _ABSYNTAX_HH
    46 #define _ABSYNTAX_HH
    46 #define _ABSYNTAX_HH
    47 
    47 
    48 
    48 
    49 #include <stdio.h> // required for NULL
    49 #include <stdio.h> // required for NULL
       
    50 #include <vector>
    50 
    51 
    51 /* Forward declaration of the visitor interface
    52 /* Forward declaration of the visitor interface
    52  * dclared in the visitor.hh file
    53  * dclared in the visitor.hh file
    53  * We cannot include the visitor.hh file, as it will
    54  * We cannot include the visitor.hh file, as it will
    54  * include this same file first, as it too requires references
    55  * include this same file first, as it too requires references
    74     long int first_order;    /* relative order in which it is read by lexcial analyser */
    75     long int first_order;    /* relative order in which it is read by lexcial analyser */
    75     int last_line;
    76     int last_line;
    76     int last_column;
    77     int last_column;
    77     const char *last_file;  /* filename referenced by last line/column */
    78     const char *last_file;  /* filename referenced by last line/column */
    78     long int last_order;    /* relative order in which it is read by lexcial analyser */
    79     long int last_order;    /* relative order in which it is read by lexcial analyser */
       
    80     symbol_c * datatype;    /* data type of the expression/literal/etc. Filled in stage3 by narrow_candidate_datatypes_c */
       
    81     std::vector <symbol_c *> candidate_datatypes; /* All possible data types the expression/literal/etc. may take. Filled in stage3 by fill_candidate_datatypes_c class */
       
    82 
    79 
    83 
    80   public:
    84   public:
    81     /* default constructor */
    85     /* default constructor */
    82     symbol_c(int fl = 0, int fc = 0, const char *ffile = NULL /* filename */, long int forder=0, /* order in which it is read by lexcial analyser */
    86     symbol_c(int fl = 0, int fc = 0, const char *ffile = NULL /* filename */, long int forder=0, /* order in which it is read by lexcial analyser */
    83              int ll = 0, int lc = 0, const char *lfile = NULL /* filename */, long int lorder=0  /* order in which it is read by lexcial analyser */
    87              int ll = 0, int lc = 0, const char *lfile = NULL /* filename */, long int lorder=0  /* order in which it is read by lexcial analyser */