Added ability to define multiple functions (without parameters) and
[zilutils.git] / zilasm / directives.h
index 5988c0a6ae2ffdba5d7d9ba3375fbf8a5df5db18..9f66060c1e16e4d550697dd7c1ad105a1e7f1940 100644 (file)
@@ -1,7 +1,7 @@
 /*
  * directives.h -- part of ZilUtils/ZilAsm
  *
- * Copyright (C) 2016 Jason Self <j@jxself.org>
+ * Copyright (C) 2016, 2020 Jason Self <j@jxself.org>
  *
  * This program is free software: you can redistribute it and/or modify
  * it under the terms of the GNU Affero General Public License as
@@ -22,7 +22,9 @@
 #ifndef ZILASM_DIRECTIVES
 #define ZILASM_DIRECTIVES 1
 
-typedef int (*Directive_handler) (const char *directive_args);
+class CParser;
+
+typedef int (*Directive_handler) (const char *directive_args, CParser* parser);
 
 typedef struct
 {
@@ -30,6 +32,20 @@ typedef struct
   Directive_handler handler;
 } Directive;
 
-Directive_handler directive_lookup (const char *name, unsigned namelen);
+extern int g_stopParsing;
+extern stack<FILE*> g_fileHandlers;
+
+
+class CDirectives
+{
+public:
+       CDirectives(CParser *parser);
+       Directive_handler directive_lookup(const char *name, unsigned namelen);
 
+private:
+       CParser *m_parser;
+       
+       CDirectives();
+       //int   insert_handler(const char *args);
+};
 #endif /* ifndef ZILASM_DIRECTIVES */