OSDN Git Service

- ACC implementation of strcpy, submitted by FDARI.
[zandronum/zandronum-acc.git] / error.h
1 \r
2 //**************************************************************************\r
3 //**\r
4 //** error.h\r
5 //**\r
6 //**************************************************************************\r
7 \r
8 #ifndef __ERROR_H__\r
9 #define __ERROR_H__\r
10 \r
11 // HEADER FILES ------------------------------------------------------------\r
12 \r
13 #include <stdarg.h>\r
14 #include "common.h"\r
15 \r
16 // MACROS ------------------------------------------------------------------\r
17 \r
18 // TYPES -------------------------------------------------------------------\r
19 \r
20 typedef enum\r
21 {\r
22         ERR_NONE = 0,\r
23         ERR_NO_SYMBOL_MEM = 10,\r
24         ERR_IDENTIFIER_TOO_LONG,\r
25         ERR_STRING_TOO_LONG,\r
26         ERR_FILE_NAME_TOO_LONG,\r
27         ERR_MISSING_LPAREN,\r
28         ERR_MISSING_RPAREN,\r
29         ERR_MISSING_SEMICOLON,\r
30         ERR_MISSING_SCRIPT_NUMBER,\r
31         ERR_ALLOC_PCODE_BUFFER,\r
32         ERR_PCODE_BUFFER_OVERFLOW,\r
33         ERR_TOO_MANY_SCRIPTS,\r
34         ERR_TOO_MANY_FUNCTIONS,\r
35         ERR_SAVE_OBJECT_FAILED,\r
36         ERR_MISSING_LPAREN_SCR,\r
37         ERR_INVALID_IDENTIFIER,\r
38         ERR_REDEFINED_IDENTIFIER,\r
39         ERR_MISSING_COMMA,\r
40         ERR_BAD_VAR_TYPE,\r
41         ERR_BAD_RETURN_TYPE,\r
42         ERR_TOO_MANY_SCRIPT_ARGS,\r
43         ERR_MISSING_LBRACE_SCR,\r
44         ERR_MISSING_RBRACE_SCR,\r
45         ERR_TOO_MANY_MAP_VARS,\r
46         ERR_MISSING_WVAR_INDEX,\r
47         ERR_MISSING_GVAR_INDEX,\r
48         ERR_BAD_WVAR_INDEX,\r
49         ERR_MISSING_WVAR_COLON,\r
50         ERR_MISSING_GVAR_COLON,\r
51         ERR_MISSING_SPEC_VAL,\r
52         ERR_MISSING_SPEC_COLON,\r
53         ERR_MISSING_SPEC_ARGC,\r
54         ERR_CANT_READ_FILE,\r
55         ERR_CANT_OPEN_FILE,\r
56         ERR_CANT_OPEN_DBGFILE,\r
57         ERR_INVALID_DIRECTIVE,\r
58         ERR_BAD_DEFINE,\r
59         ERR_INCL_NESTING_TOO_DEEP,\r
60         ERR_STRING_LIT_NOT_FOUND,\r
61         ERR_TOO_MANY_SCRIPT_VARS,\r
62         ERR_TOO_MANY_FUNCTION_VARS,\r
63         ERR_INVALID_DECLARATOR,\r
64         ERR_BAD_LSPEC_ARG_COUNT,\r
65         ERR_BAD_ARG_COUNT,\r
66         ERR_UNKNOWN_IDENTIFIER,\r
67         ERR_MISSING_COLON,\r
68         ERR_BAD_EXPR,\r
69         ERR_BAD_CONST_EXPR,\r
70         ERR_NO_DIRECT_VER,\r
71         ERR_ILLEGAL_EXPR_IDENT,\r
72         ERR_EXPR_FUNC_NO_RET_VAL,\r
73         ERR_MISSING_ASSIGN_OP,\r
74         ERR_INCDEC_OP_ON_NON_VAR,\r
75         ERR_MISSING_RBRACE,\r
76         ERR_INVALID_STATEMENT,\r
77         ERR_BAD_DO_STATEMENT,\r
78         ERR_BAD_SCRIPT_DECL,\r
79         ERR_CASE_OVERFLOW,\r
80         ERR_BREAK_OVERFLOW,\r
81         ERR_CONTINUE_OVERFLOW,\r
82         ERR_STATEMENT_OVERFLOW,\r
83         ERR_MISPLACED_BREAK,\r
84         ERR_MISPLACED_CONTINUE,\r
85         ERR_CASE_NOT_IN_SWITCH,\r
86         ERR_DEFAULT_NOT_IN_SWITCH,\r
87         ERR_MULTIPLE_DEFAULT,\r
88         ERR_EXPR_STACK_OVERFLOW,\r
89         ERR_EXPR_STACK_EMPTY,\r
90         ERR_UNKNOWN_CONST_EXPR_PCD,\r
91         ERR_BAD_RADIX_CONSTANT,\r
92         ERR_BAD_ASSIGNMENT,\r
93         ERR_OUT_OF_MEMORY,\r
94         ERR_TOO_MANY_STRINGS,\r
95         ERR_UNKNOWN_PRTYPE,\r
96         ERR_BAD_CHARACTER,\r
97         ERR_SCRIPT_OUT_OF_RANGE,\r
98         ERR_MISSING_PARAM,\r
99         ERR_SCRIPT_ALREADY_DEFINED,\r
100         ERR_FUNCTION_ALREADY_DEFINED,\r
101         ERR_PARM_MUST_BE_VAR,\r
102         ERR_LANGCODE_SIZE,\r
103         ERR_MISSING_LBRACE_LOC,\r
104         ERR_MISSING_RBRACE_LOC,\r
105         ERR_MISSING_LOCALIZED,\r
106         ERR_BAD_LANGCODE,\r
107         ERR_MISSING_LANGCODE,\r
108         ERR_MISSING_FONT_NAME,\r
109         ERR_MISSING_LBRACE_FONTS,\r
110         ERR_MISSING_RBRACE_FONTS,\r
111         ERR_NOCOMPACT_NOT_HERE,\r
112         ERR_MISSING_ASSIGN,\r
113         ERR_MUST_RETURN_A_VALUE,\r
114         ERR_MUST_NOT_RETURN_A_VALUE,\r
115         ERR_SUSPEND_IN_FUNCTION,\r
116         ERR_TERMINATE_IN_FUNCTION,\r
117         ERR_RESTART_IN_FUNCTION,\r
118         ERR_RETURN_OUTSIDE_FUNCTION,\r
119         ERR_PREVIOUS_NOT_VOID,\r
120         ERR_MISSING_LBRACE,\r
121         ERR_FUNC_ARGUMENT_COUNT,\r
122         ERR_UNDEFINED_FUNC,\r
123         ERR_TOO_MANY_ARRAY_DIMS,\r
124         ERR_MISSING_LBRACKET,\r
125         ERR_MISSING_RBRACKET,\r
126         ERR_ZERO_DIMENSION,\r
127         ERR_TOO_MANY_DIM_USED,\r
128         ERR_TOO_MANY_ARRAY_INIT,\r
129         ERR_EOF,\r
130         ERR_ARRAY_MAPVAR_ONLY,\r
131         ERR_NOT_AN_ARRAY,\r
132         ERR_MISSING_LBRACE_ARR,\r
133         ERR_MISSING_RBRACE_ARR,\r
134         ERR_LATENT_IN_FUNC,\r
135         ERR_LOCAL_VAR_SHADOWED,\r
136         ERR_BAD_CHARACTER_CONSTANT,\r
137         ERR_MULTIPLE_IMPORTS,\r
138         ERR_IMPORT_IN_EXPORT,\r
139         ERR_EXPORTER_NOT_FLAGGED,\r
140         ERR_TOO_MANY_IMPORTS,\r
141         ERR_NO_NEED_ARRAY_SIZE,\r
142         ERR_NO_MULTIDIMENSIONS,\r
143         ERR_NEED_ARRAY_SIZE,\r
144         ERR_DISCONNECT_NEEDS_1_ARG,\r
145         ERR_UNCLOSED_WITH_ARGS,\r
146         ERR_NOT_A_CHAR_ARRAY,\r
147         ERR_CANT_FIND_INCLUDE\r
148 } error_t;\r
149 \r
150 // PUBLIC FUNCTION PROTOTYPES ----------------------------------------------\r
151 \r
152 void ERR_ErrorAt(char *sourceName, int sourceLine);\r
153 void ERR_Error(error_t error, boolean info, ...);\r
154 void ERR_ErrorV(error_t error, boolean info, va_list args);\r
155 void ERR_Finish(void);\r
156 void ERR_Exit(error_t error, boolean info, ...);\r
157 void ERR_RemoveErrorFile(void);\r
158 \r
159 // PUBLIC DATA DECLARATIONS ------------------------------------------------\r
160 \r
161 #endif\r