]> icculus.org git repositories - divverent/nexuiz.git/blob - scmenu/source/system/parser.qh
Adding my current version of the scmenu to the nexuiz cvs.
[divverent/nexuiz.git] / scmenu / source / system / parser.qh
1 // DP/Nex Menu
2 // system/parser.qh
3
4 enum {
5         PARSER_TT_ITEM,
6         PARSER_TT_TEMPLATE,
7         PARSER_TT_DERIVE,
8         PARSER_TT_DERIVETEMPLATE,
9         PARSER_TT_DEFINE,
10         PARSER_TT_UNDEF,
11         PARSER_TT_IGNORE,
12         PARSER_TT_NAMESPACE,
13         PARSER_TT_INCLUDE,
14         PARSER_TT_BRACEOPEN,
15         PARSER_TT_BRACECLOSE,
16         PARSER_TT_BRACKETOPEN,
17         PARSER_TT_BRACKETCLOSE,
18         PARSER_TT_TOKEN,
19         PARSER_TT_SIZE
20 };
21
22 // FIXME: FTEQCC: const string PARSER_TT_TEXT[PARSER_TT_SIZE] = {
23 const string PARSER_TT_TEXT[14] = {
24         "Item", "Template", "Derive", "DeriveTemplate", "Define", "#undef", "Ignore", "Namespace",
25         "#include", "{", "}", "[", "]", "Token"
26 };
27
28 const float PARSER_NORMAL = 0;
29 enumflags {
30         PARSER_INFO,
31         PARSER_HIGH,
32         PARSER_LOW
33 };
34
35 const float Parser_MaxIncludeDepth = 32;
36
37 string Parser_FileList;
38 float  Parser_IncludeDepth;
39
40 entity Parser_DefineChain;
41
42 string Parser_Filename;
43 float  Parser_LineNumber;
44
45 float  Parser_File;
46 string Parser_Line;
47
48 float   Parser_NumTokens;
49 float   Parser_TokenNum;
50 string  Parser_Token;
51 float   Parser_TokenType;
52
53 bool() Parser_GetToken;
54 float() Parser_GetTokenType;
55
56 void() Parser_ParseDefine;
57 void() Parser_ProcessDefine;
58 void() Parser_ParseUndef;
59
60 void( float pType ) Parser_Expect;
61
62 void( string pInfo ) Parser_Error;
63 void( float pLevel, string pInfo ) Parser_Print;
64
65 entity( string pNamespace ) Parser_ParseItem;
66 entity( string pNamespace ) Parser_DeriveItem;
67 string( string pNamespace, string pEntityText ) Parser_ParseEntity;
68 void( string pNamespace ) Parser_ParseDefinition;
69 void( string pNamespace ) Parser_ParseNamespace;
70 void() Parser_ParseIgnore;
71
72 void( entity pSource, entity pTarget ) Parser_CloneChildren;
73
74 void( string pNamespace ) Parser_IncludeFile;
75
76 void( string pFilename, string pNamespace ) Parser_ParseFile;
77
78 void( string pMain ) Parser_ParseMenu;
79
80 void() Parser_Init;
81 void() Parser_Quit;