aboutsummaryrefslogtreecommitdiffstats
path: root/function.h
diff options
context:
space:
mode:
Diffstat (limited to 'function.h')
-rw-r--r--function.h50
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
Un proyecto texto-plano.xyz