45 #include "str.h" |
45 #include "str.h" |
46 #include "objwriter.h" |
46 #include "objwriter.h" |
47 #include "commands.h" |
47 #include "commands.h" |
48 |
48 |
49 #define MAX_FILESTACK 8 |
49 #define MAX_FILESTACK 8 |
50 #define MAX_STRUCTSTACK 32 |
50 #define MAX_SCOPE 32 |
51 #define MAX_CASE 64 |
51 #define MAX_CASE 64 |
52 |
52 |
53 class ScriptVar; |
53 class ScriptVar; |
54 |
54 |
55 // ============================================================================ |
55 // ============================================================================ |
56 // Meta-data about blocks |
56 // Meta-data about blocks |
57 struct BlockInformation { |
57 struct ScopeInfo { |
58 unsigned int mark1; |
58 unsigned int mark1; |
59 unsigned int mark2; |
59 unsigned int mark2; |
60 unsigned int type; |
60 unsigned int type; |
61 DataBuffer* buffer1; |
61 DataBuffer* buffer1; |
62 |
62 |
89 int fc; |
89 int fc; |
90 |
90 |
91 unsigned int pos[MAX_FILESTACK]; |
91 unsigned int pos[MAX_FILESTACK]; |
92 unsigned int curline[MAX_FILESTACK]; |
92 unsigned int curline[MAX_FILESTACK]; |
93 unsigned int curchar[MAX_FILESTACK]; |
93 unsigned int curchar[MAX_FILESTACK]; |
94 BlockInformation scopestack[MAX_STRUCTSTACK]; |
94 ScopeInfo scopestack[MAX_SCOPE]; |
95 long savedpos[MAX_FILESTACK]; // filepointer cursor position |
95 long savedpos[MAX_FILESTACK]; // filepointer cursor position |
96 str token; |
96 str token; |
97 int commentmode; |
97 int commentmode; |
98 long prevpos; |
98 long prevpos; |
99 str prevtoken; |
99 str prevtoken; |