X-Git-Url: https://jxself.org/git/?a=blobdiff_plain;ds=sidebyside;f=zilasm%2Fdirectives.h;h=9f66060c1e16e4d550697dd7c1ad105a1e7f1940;hb=b1f151e1500e1fdadafaab6b13df6e0a8f32136e;hp=5988c0a6ae2ffdba5d7d9ba3375fbf8a5df5db18;hpb=82b0f84ab797141758929d16894d42e12ef79af7;p=zilutils.git diff --git a/zilasm/directives.h b/zilasm/directives.h index 5988c0a..9f66060 100644 --- a/zilasm/directives.h +++ b/zilasm/directives.h @@ -1,7 +1,7 @@ /* * directives.h -- part of ZilUtils/ZilAsm * - * Copyright (C) 2016 Jason Self + * Copyright (C) 2016, 2020 Jason Self * * 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 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 */