annotate dmdscript_tango/textgen/textgen.d @ 0:55c2951c07be

initial, files origin, premoved tree
author saaadel
date Sun, 24 Jan 2010 12:34:47 +0200
parents
children 987135a700f2
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
1
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
2 /* Digital Mars DMDScript source code.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
3 * Copyright (c) 2000-2002 by Chromium Communications
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
4 * D version Copyright (c) 2004-2005 by Digital Mars
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
5 * All Rights Reserved
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
6 * written by Walter Bright
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
7 * www.digitalmars.com
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
8 * Use at your own risk. There is no warranty, express or implied.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
9 * License for redistribution is by the GNU General Public License in gpl.txt.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
10 *
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
11 * A binary, non-exclusive license for commercial use can be
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
12 * purchased from www.digitalmars.com/dscript/buy.html.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
13 *
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
14 * DMDScript is implemented in the D Programming Language,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
15 * www.digitalmars.com/d/
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
16 *
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
17 * For a C++ implementation of DMDScript, including COM support,
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
18 * see www.digitalmars.com/dscript/cppscript.html.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
19 */
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
20
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
21 // Program to generate string files in script data structures.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
22 // Saves much tedious typing, and eliminates typo problems.
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
23 // Generates:
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
24 // text.d
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
25
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
26 import std.c.stdio;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
27 import std.c.stdlib;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
28 import std.stdio;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
29
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
30
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
31 struct Msgtable
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
32 {
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
33 char[] name;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
34 int value;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
35 char[] ident;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
36 }
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
37
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
38
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
39 Msgtable errtable[] =
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
40 [
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
41 { "DMDScript fatal runtime error: ", 0, "ERR_RUNTIME_PREFIX" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
42 { "No default value for COM object", 0, "ERR_COM_NO_DEFAULT_VALUE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
43 { "%s does not have a [[Construct]] property", 0, "ERR_COM_NO_CONSTRUCT_PROPERTY" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
44 { "argument type mismatch for %s", 0, "ERR_DISP_E_TYPEMISMATCH" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
45 { "wrong number of arguments for %s", 0, "ERR_DISP_E_BADPARAMCOUNT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
46 { "%s Invoke() fails with COM error %x", 0, "ERR_COM_FUNCTION_ERROR" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
47 { "Dcomobject: %s.%s fails with COM error %x", 0, "ERR_COM_OBJECT_ERROR" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
48 { "unrecognized switch '%s'", 0, "ERR_BAD_SWITCH" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
49 { "undefined label '%s' in function '%s'", 0, "ERR_UNDEFINED_LABEL" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
50 { "unterminated /* */ comment", 0, "ERR_BAD_C_COMMENT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
51 { "<!-- comment does not end in newline", 0, "ERR_BAD_HTML_COMMENT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
52 { "unsupported char '%s'", 0, "ERR_BAD_CHAR_C" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
53 { "unsupported char 0x%02x", 0, "ERR_BAD_CHAR_X" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
54 { "escape hex sequence requires 2 hex digits", 0, "ERR_BAD_HEX_SEQUENCE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
55 { "undefined escape sequence \\\\%c", 0, "ERR_UNDEFINED_ESC_SEQUENCE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
56 { "string is missing an end quote %s", 0, "ERR_STRING_NO_END_QUOTE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
57 { "end of file before end of string", 0, "ERR_UNTERMINATED_STRING" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
58 { "\\\\u sequence must be followed by 4 hex characters", 0, "ERR_BAD_U_SEQUENCE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
59 { "unrecognized numeric literal", 0, "ERR_UNRECOGNIZED_N_LITERAL" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
60 { "Identifier expected in FormalParameterList, not %s", 0, "ERR_FPL_EXPECTED_IDENTIFIER" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
61 { "comma expected in FormalParameterList, not %s", 0, "ERR_FPL_EXPECTED_COMMA" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
62 { "identifier expected", 0, "ERR_EXPECTED_IDENTIFIER" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
63 { "found '%s' when expecting '%s'", 0, "ERR_EXPECTED_GENERIC" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
64 { "identifier expected instead of '%s'", 0, "ERR_EXPECTED_IDENTIFIER_PARAM" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
65 { "identifier expected following '%s', not '%s'", 0, "ERR_EXPECTED_IDENTIFIER_2PARAM" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
66 { "EOF found before closing ']' of block statement", 0, "ERR_UNTERMINATED_BLOCK" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
67 { "only one variable can be declared for 'in', not %d", 0, "ERR_TOO_MANY_IN_VARS" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
68 { "';' or 'in' expected, not '%s'", 0, "ERR_IN_EXPECTED" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
69 { "label expected after goto, not '%s'", 0, "ERR_GOTO_LABEL_EXPECTED" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
70 { "catch or finally expected following try", 0, "ERR_TRY_CATCH_EXPECTED" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
71 { "found '%s' instead of statement", 0, "ERR_STATEMENT_EXPECTED" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
72 { "expression expected, not '%s'", 0, "ERR_EXPECTED_EXPRESSION" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
73 { "Object literal in initializer", 0, "ERR_OBJ_LITERAL_IN_INITIALIZER" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
74 { "label '%s' is already defined", 0, "ERR_LABEL_ALREADY_DEFINED" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
75 { "redundant case %s", 0, "ERR_SWITCH_REDUNDANT_CASE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
76 { "case %s: is not in a switch statement", 0, "ERR_MISPLACED_SWITCH_CASE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
77 { "redundant default in switch statement", 0, "ERR_SWITCH_REDUNDANT_DEFAULT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
78 { "default is not in a switch statement", 0, "ERR_MISPLACED_SWITCH_DEFAULT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
79 { "init statement must be expression or var", 0, "ERR_INIT_NOT_EXPRESSION" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
80 { "can only break from within loop or switch", 0, "ERR_MISPLACED_BREAK" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
81 { "continue is not in a loop", 0, "ERR_MISPLACED_CONTINUE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
82 { "Statement label '%s' is undefined", 0, "ERR_UNDEFINED_STATEMENT_LABEL" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
83 { "cannot goto into with statement", 0, "ERR_GOTO_INTO_WITH" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
84 { "can only return from within function", 0, "ERR_MISPLACED_RETURN" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
85 { "no expression for throw", 0, "ERR_NO_THROW_EXPRESSION" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
86 { "%s.%s is undefined", 0, "ERR_UNDEFINED_OBJECT_SYMBOL" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
87 { "Number.prototype.%s() expects a Number not a %s", 0, "ERR_FUNCTION_WANTS_NUMBER" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
88 { "String.prototype.%s() expects a String not a %s", 0, "ERR_FUNCTION_WANTS_STRING" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
89 { "Date.prototype.%s() expects a Date not a %s", 0, "ERR_FUNCTION_WANTS_DATE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
90 { "%s %s is undefined and has no Call method", 0, "ERR_UNDEFINED_NO_CALL2"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
91 { "%s %s.%s is undefined and has no Call method", 0, "ERR_UNDEFINED_NO_CALL3"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
92 { "Boolean.prototype.%s() expects a Boolean not a %s", 0, "ERR_FUNCTION_WANTS_BOOL" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
93 { "arg to Array(len) must be 0 .. 2**32-1, not %.16g", 0, "ERR_ARRAY_LEN_OUT_OF_BOUNDS" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
94 { "Number.prototype.%s() %s out of range", 0, "ERR_VALUE_OUT_OF_RANGE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
95 { "TypeError in %s", 0, "ERR_TYPE_ERROR" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
96 { "Error compiling regular expression", 0, "ERR_REGEXP_COMPILE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
97 { "%s not transferrable", 0, "ERR_NOT_TRANSFERRABLE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
98 { "%s %s cannot convert to Object", 0, "ERR_CANNOT_CONVERT_TO_OBJECT2" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
99 { "%s %s.%s cannot convert to Object", 0, "ERR_CANNOT_CONVERT_TO_OBJECT3" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
100 { "cannot convert %s to Object", 0, "ERR_CANNOT_CONVERT_TO_OBJECT4" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
101 { "cannot assign to %s", 0, "ERR_CANNOT_ASSIGN_TO" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
102 { "cannot assign %s to %s", 0, "ERR_CANNOT_ASSIGN" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
103 { "cannot assign to %s.%s", 0, "ERR_CANNOT_ASSIGN_TO2" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
104 { "cannot assign to function", 0, "ERR_FUNCTION_NOT_LVALUE"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
105 { "RHS of %s must be an Object, not a %s", 0, "ERR_RHS_MUST_BE_OBJECT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
106 { "can't Put('%s', %s) to a primitive %s", 0, "ERR_CANNOT_PUT_TO_PRIMITIVE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
107 { "can't Put(%u, %s) to a primitive %s", 0, "ERR_CANNOT_PUT_INDEX_TO_PRIMITIVE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
108 { "object cannot be converted to a primitive type", 0, "ERR_OBJECT_CANNOT_BE_PRIMITIVE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
109 { "can't Get(%s) from primitive %s(%s)", 0, "ERR_CANNOT_GET_FROM_PRIMITIVE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
110 { "can't Get(%d) from primitive %s(%s)", 0, "ERR_CANNOT_GET_INDEX_FROM_PRIMITIVE" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
111 { "primitive %s has no Construct method", 0, "ERR_PRIMITIVE_NO_CONSTRUCT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
112 { "primitive %s has no Call method", 0, "ERR_PRIMITIVE_NO_CALL" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
113 { "for-in must be on an object, not a primitive", 0, "ERR_FOR_IN_MUST_BE_OBJECT" },
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
114 { "assert() line %d", 0, "ERR_ASSERT"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
115 { "object does not have a [[Call]] property", 0, "ERR_OBJECT_NO_CALL"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
116 { "%s: %s", 0, "ERR_S_S"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
117 { "no Default Put for object", 0, "ERR_NO_DEFAULT_PUT"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
118 { "%s does not have a [[Construct]] property", 0, "ERR_S_NO_CONSTRUCT"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
119 { "%s does not have a [[Call]] property", 0, "ERR_S_NO_CALL"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
120 { "%s does not have a [[HasInstance]] property", 0, "ERR_S_NO_INSTANCE"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
121 { "length property must be an integer", 0, "ERR_LENGTH_INT"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
122 { "Array.prototype.toLocaleString() not transferrable", 0, "ERR_TLS_NOT_TRANSFERRABLE"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
123 { "Function.prototype.toString() not transferrable", 0, "ERR_TS_NOT_TRANSFERRABLE"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
124 { "Function.prototype.apply(): argArray must be array or arguments object", 0, "ERR_ARRAY_ARGS"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
125 { ".prototype must be an Object, not a %s", 0, "ERR_MUST_BE_OBJECT"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
126 { "VBArray expected, not a %s", 0, "ERR_VBARRAY_EXPECTED"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
127 { "VBArray subscript out of range", 0, "ERR_VBARRAY_SUBSCRIPT"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
128 { "Type mismatch", 0, "ERR_ACTIVEX"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
129 { "no property %s", 0, "ERR_NO_PROPERTY"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
130 { "Put of %s failed", 0, "ERR_PUT_FAILED"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
131 { "Get of %s failed", 0, "ERR_GET_FAILED"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
132 { "argument not a collection", 0, "ERR_NOT_COLLECTION"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
133 { "%s.%s expects a valid UTF codepoint not \\\\u%x", 0, "ERR_NOT_VALID_UTF"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
134
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
135 // COM error messages
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
136 { "Unexpected", 0, "ERR_E_UNEXPECTED"},
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
137 ];
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
138
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
139 int main()
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
140 {
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
141 FILE* fp;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
142 uint i;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
143
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
144 fp = fopen("errmsgs.d","w");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
145 if (!fp)
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
146 {
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
147 printf("can't open errmsgs.d\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
148 exit(EXIT_FAILURE);
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
149 }
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
150
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
151 fprintf(fp, "// File generated by textgen.d\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
152 fprintf(fp, "//\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
153
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
154 fprintf(fp, "// *** ERROR MESSAGES ***\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
155 fprintf(fp, "//\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
156 fprintf(fp, "module dmdscript.errmsgs;\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
157 fprintf(fp, "enum {\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
158 for (i = 0; i < errtable.length; i++)
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
159 { char[] id = errtable[i].ident;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
160
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
161 if (!id)
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
162 id = errtable[i].name;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
163 fwritefln(fp,"\t%s = %d,", id, i);
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
164 }
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
165 fprintf(fp, "};\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
166
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
167 fprintf(fp, "// *** ERROR MESSAGES ***\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
168 fprintf(fp, "//\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
169 fprintf(fp, "char[][] errmsgtbl = [\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
170 for (i = 0; i < errtable.length; i++)
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
171 { char[] id = errtable[i].ident;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
172 char[] p = errtable[i].name;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
173
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
174 fwritefln(fp,"\t\"%s\",", p);
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
175 }
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
176 fprintf(fp, "];\n");
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
177
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
178 fclose(fp);
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
179
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
180 return EXIT_SUCCESS;
55c2951c07be initial, files origin, premoved tree
saaadel
parents:
diff changeset
181 }