diff options
Diffstat (limited to 'function.h')
-rw-r--r-- | function.h | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/function.h b/function.h new file mode 100644 index 0000000..e350be2 --- /dev/null +++ b/function.h @@ -0,0 +1,50 @@ +#ifndef INCLUDE_BLASSIC_FUNCTION_H +#define INCLUDE_BLASSIC_FUNCTION_H + +// function.h +// Revision 7-feb-2005 + + +#include "codeline.h" + +#include <string> + + +class ParameterList { +public: + ParameterList (); + ParameterList (const ParameterList & pl); + ~ParameterList (); + ParameterList & operator= (const ParameterList & pl); + void push_back (const std::string & name); + size_t size () const; + //const std::string & operator [] (size_t n) const; + std::string operator [] (size_t n) const; +private: + class Internal; + Internal * pin; +}; + +class Function { +public: + enum DefType { DefSingle, DefMulti }; + Function (const std::string & strdef, const ParameterList & param); + Function (ProgramPos posfn, const ParameterList & param); + Function (const Function & f); + ~Function (); + Function & operator= (const Function &); + DefType getdeftype () const; + CodeLine & getcode (); + ProgramPos getpos () const; + const ParameterList & getparam (); + static void clear (); + void insert (const std::string & name); + static Function & get (const std::string & name); +private: + class Internal; + Internal * pin; +}; + +#endif + +// Fin de function.h |