absyntax_utils/search_base_type.hh
changeset 793 268bf4ca5fa1
parent 726 9b61eb4f00dc
parent 706 31553c22f318
child 808 7a6b53d61ea3
equal deleted inserted replaced
785:b08167f156a1 793:268bf4ca5fa1
    54     symbol_c *current_type_name;
    54     symbol_c *current_type_name;
    55     symbol_c *current_basetype;
    55     symbol_c *current_basetype;
    56     bool is_array;
    56     bool is_array;
    57     bool is_subrange;
    57     bool is_subrange;
    58     bool is_enumerated;
    58     bool is_enumerated;
       
    59     bool is_fb;
    59     static search_base_type_c *search_base_type_singleton; // Make this a singleton class!
    60     static search_base_type_c *search_base_type_singleton; // Make this a singleton class!
    60     
    61     
    61   private:  
    62   private:  
    62     static void create_singleton(void);
    63     static void create_singleton(void);
    63 
    64 
    65     search_base_type_c(void);
    66     search_base_type_c(void);
    66     static symbol_c *get_basetype_decl (symbol_c *symbol);
    67     static symbol_c *get_basetype_decl (symbol_c *symbol);
    67     static symbol_c *get_basetype_id   (symbol_c *symbol);
    68     static symbol_c *get_basetype_id   (symbol_c *symbol);
    68     static bool      type_is_subrange  (symbol_c *type_decl);
    69     static bool      type_is_subrange  (symbol_c *type_decl);
    69     static bool      type_is_enumerated(symbol_c *type_decl);
    70     static bool      type_is_enumerated(symbol_c *type_decl);
       
    71     static bool      type_is_fb        (symbol_c *type_decl);
    70 
    72 
    71   public:
    73   public:
    72   /*************************/
    74   /*************************/
    73   /* B.1 - Common elements */
    75   /* B.1 - Common elements */
    74   /*************************/
    76   /*************************/
   117     void *visit(ulint_type_name_c *symbol);
   119     void *visit(ulint_type_name_c *symbol);
   118     void *visit(real_type_name_c *symbol);
   120     void *visit(real_type_name_c *symbol);
   119     void *visit(lreal_type_name_c *symbol);
   121     void *visit(lreal_type_name_c *symbol);
   120     void *visit(date_type_name_c *symbol);
   122     void *visit(date_type_name_c *symbol);
   121     void *visit(tod_type_name_c *symbol);
   123     void *visit(tod_type_name_c *symbol);
   122     void *visit(dt_type_name_c *symbol)	;
   124     void *visit(dt_type_name_c *symbol);
   123     void *visit(byte_type_name_c *symbol);
   125     void *visit(byte_type_name_c *symbol);
   124     void *visit(word_type_name_c *symbol);
   126     void *visit(word_type_name_c *symbol);
   125     void *visit(dword_type_name_c *symbol);
   127     void *visit(dword_type_name_c *symbol);
   126     void *visit(lword_type_name_c *symbol);
   128     void *visit(lword_type_name_c *symbol);
   127     void *visit(string_type_name_c *symbol);
   129     void *visit(string_type_name_c *symbol);
   146     void *visit(safeulint_type_name_c *symbol);
   148     void *visit(safeulint_type_name_c *symbol);
   147     void *visit(safereal_type_name_c *symbol);
   149     void *visit(safereal_type_name_c *symbol);
   148     void *visit(safelreal_type_name_c *symbol);
   150     void *visit(safelreal_type_name_c *symbol);
   149     void *visit(safedate_type_name_c *symbol);
   151     void *visit(safedate_type_name_c *symbol);
   150     void *visit(safetod_type_name_c *symbol);
   152     void *visit(safetod_type_name_c *symbol);
   151     void *visit(safedt_type_name_c *symbol)	;
   153     void *visit(safedt_type_name_c *symbol);
   152     void *visit(safebyte_type_name_c *symbol);
   154     void *visit(safebyte_type_name_c *symbol);
   153     void *visit(safeword_type_name_c *symbol);
   155     void *visit(safeword_type_name_c *symbol);
   154     void *visit(safedword_type_name_c *symbol);
   156     void *visit(safedword_type_name_c *symbol);
   155     void *visit(safelword_type_name_c *symbol);
   157     void *visit(safelword_type_name_c *symbol);
   156     void *visit(safestring_type_name_c *symbol);
   158     void *visit(safestring_type_name_c *symbol);
   223     void *visit(structure_element_initialization_list_c *symbol);
   225     void *visit(structure_element_initialization_list_c *symbol);
   224   /*  structure_element_name ASSIGN value */
   226   /*  structure_element_name ASSIGN value */
   225     void *visit(structure_element_initialization_c *symbol);
   227     void *visit(structure_element_initialization_c *symbol);
   226   /*  string_type_name ':' elementary_string_type_name string_type_declaration_size string_type_declaration_init */
   228   /*  string_type_name ':' elementary_string_type_name string_type_declaration_size string_type_declaration_init */
   227   /*
   229   /*
   228   SYM_REF4(string_type_declaration_c,	string_type_name,
   230   SYM_REF4(string_type_declaration_c, string_type_name,
   229   					elementary_string_type_name,
   231   					elementary_string_type_name,
   230   					string_type_declaration_size,
   232   					string_type_declaration_size,
   231   					string_type_declaration_init) // may be == NULL!
   233   					string_type_declaration_init) // may be == NULL!
   232   */
   234   */
   233     void *visit(string_type_declaration_c *symbol);
   235     void *visit(string_type_declaration_c *symbol);