main.cxx

changeset 69
29a3e669d648
parent 68
588cc27e84bb
equal deleted inserted replaced
68:588cc27e84bb 69:29a3e669d648
67 "const", 67 "const",
68 "default", 68 "default",
69 "do", 69 "do",
70 "else", 70 "else",
71 "event", 71 "event",
72 "float",
73 "for", 72 "for",
74 "goto", 73 "goto",
75 "if", 74 "if",
76 "int", 75 "int",
77 "mainloop", 76 "mainloop",
113 112
114 // Print header 113 // Print header
115 str header; 114 str header;
116 str headerline = "-="; 115 str headerline = "-=";
117 header.appendformat ("%s version %d.%d", APPNAME, VERSION_MAJOR, VERSION_MINOR); 116 header.appendformat ("%s version %d.%d", APPNAME, VERSION_MAJOR, VERSION_MINOR);
118
119 // Include revision if non-zero
120 if (VERSION_REVISION)
121 header.appendformat (".%d", VERSION_REVISION);
122 117
123 headerline *= (header.len() / 2) - 1; 118 headerline *= (header.len() / 2) - 1;
124 headerline += '-'; 119 headerline += '-';
125 printf ("%s\n%s\n", header.chars(), headerline.chars()); 120 printf ("%s\n%s\n", header.chars(), headerline.chars());
126 121
250 245
251 unsigned int NumKeywords () { 246 unsigned int NumKeywords () {
252 return sizeof (g_Keywords) / sizeof (const char*); 247 return sizeof (g_Keywords) / sizeof (const char*);
253 } 248 }
254 249
255
256 // ============================================================================ 250 // ============================================================================
257 type_e GetTypeByName (str t) { 251 type_e GetTypeByName (str t) {
258 t = t.tolower(); 252 t = t.tolower();
259 return (t == "int") ? TYPE_INT : 253 return (t == "int") ? TYPE_INT :
260 (t == "float") ? TYPE_FLOAT :
261 (t == "str") ? TYPE_STRING : 254 (t == "str") ? TYPE_STRING :
262 (t == "void") ? TYPE_VOID : 255 (t == "void") ? TYPE_VOID :
263 (t == "bool") ? TYPE_BOOL : 256 (t == "bool") ? TYPE_BOOL :
264 TYPE_UNKNOWN; 257 TYPE_UNKNOWN;
265 } 258 }
270 str GetTypeName (type_e type) { 263 str GetTypeName (type_e type) {
271 switch (type) { 264 switch (type) {
272 case TYPE_INT: return "int"; break; 265 case TYPE_INT: return "int"; break;
273 case TYPE_STRING: return "str"; break; 266 case TYPE_STRING: return "str"; break;
274 case TYPE_VOID: return "void"; break; 267 case TYPE_VOID: return "void"; break;
275 case TYPE_FLOAT: return "float"; break;
276 case TYPE_BOOL: return "bool"; break; 268 case TYPE_BOOL: return "bool"; break;
277 case TYPE_UNKNOWN: return "???"; break; 269 case TYPE_UNKNOWN: return "???"; break;
278 } 270 }
279 271
280 return ""; 272 return "";

mercurial