Branch data Line data Source code
1 : : #pragma once
2 : :
3 : : void startmacro(const char * line);
4 : : void tomacro(const char * line);
5 : : void endmacro(bool insert);
6 : : void callmacro(const char * data);
7 : : string replace_macro_args(const char* line);
8 : :
9 : : extern int macrorecursion;
10 : : extern int calledmacros;
11 : : extern int reallycalledmacros;
12 : : extern bool inmacro;
13 : : extern int numvarargs;
14 : :
15 : 26 : struct macrodata
16 : : {
17 : : autoarray<string> lines;
18 : : int numlines;
19 : : int startline;
20 : : const char * fname;
21 : : const char * const* arguments;
22 : : int numargs;
23 : : bool variadic;
24 : : };
25 : :
26 : : extern assocarr<macrodata*> macros;
27 : : extern macrodata* current_macro;
28 : : extern const char* const* current_macro_args;
29 : : extern int current_macro_numargs;
|