Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

annotator_i.h

Go to the documentation of this file.
00001 // AUTOMATICALLY GENERATED -- DO NOT EDIT!         -*- c++ -*-
00002 
00003 #ifndef annotator_i_h
00004 #define annotator_i_h
00005 
00006 #include <typeinfo>
00007 #include "ptree_util.h"
00008 #include "decl_read.h"
00009 #include "symbol_table.h"
00010 #include "downcast.h"
00011 #include "scope.h"
00012 #include "expr_annotator.h"
00013 #include "function.h"
00014 #include "namespace.h"
00015 #include "typedef.h"
00016 #include "variable.h"
00017 #include "symbol_name.h"
00018 #include "block.h"
00019 #include "implicit_conversion.h"
00020 #include "class.h"
00021 #include "template.h"
00022 
00023 class Simple_declaration_reader : public Declaration_reader {
00024     Storage_class_specifier storage;
00025     Function_specifier_set  func;
00026     Source*                 source;
00027     Ptree*                  func_defn;
00028     Annotator*              annotator;
00029  public:
00030     /* for variables */
00031     Simple_declaration_reader(Abstract_scope* scope, Source* source, Annotator* annotator)
00032         : Declaration_reader(scope), storage(s_None), func(), source(source),
00033           func_defn(0), annotator(annotator)
00034         { }
00035     /* for functions */
00036     Simple_declaration_reader(Abstract_scope* scope, Source* source, Arg_vec* args, Ptree* func_defn)
00037         : Declaration_reader(scope, args), storage(s_None), func(), source(source),
00038           func_defn(func_defn), annotator(0)
00039         { }
00040 
00041 public:  
00042   void parse_specifiers(Ptree* tree);
00043   
00044   void declare_variable(Type type, Ptree* name, Ptree* initializer, Ptree* bitsize);
00045 };
00046 
00047 /******************************** Typedef ********************************/
00048 
00053 class Typedef_name_reader : public Declaration_reader {
00054     Ptree* name_out;
00055  public:
00056     Typedef_name_reader(Abstract_scope* scope)
00057         : Declaration_reader(scope), name_out(0) { }
00058     Ptree* get_name() const { return name_out; }
00059 
00060 public:  
00061   void declare_variable(Type type, Ptree* name, Ptree*, Ptree*);
00062 };
00063 
00065 class Typedef_declaration_reader : public Declaration_reader {
00066  public:
00067     Typedef_declaration_reader(Abstract_scope* scope) : Declaration_reader(scope) { }
00068 
00069 public:  
00070   void declare_variable(Type type, Ptree* name, Ptree* initializer, Ptree* bitsize);
00071 };
00072 
00073 #endif // annotator_i_h

Generated on Mon Feb 10 17:32:44 2003 for VFiasco Semantics Compiler by doxygen1.2.15