55 if (argc != 3) { |
55 if (argc != 3) { |
56 fprintf (stderr, "usage: %s: <infile> <outFile>\n", argv[0]); |
56 fprintf (stderr, "usage: %s: <infile> <outFile>\n", argv[0]); |
57 exit (1); |
57 exit (1); |
58 } |
58 } |
59 |
59 |
|
60 // Print header |
|
61 str header; |
|
62 str headerline = "=-"; |
|
63 header.appendformat ("%s version %d.%d.%d", APPNAME, VERSION_MAJOR, VERSION_MINOR, VERSION_REVISION); |
|
64 headerline.repeat ((header.len()/2)-1); |
|
65 printf ("%s\n%s\n", header.chars(), headerline.chars()); |
|
66 |
|
67 // Prepare reader and writer |
60 str infile = argv[1]; |
68 str infile = argv[1]; |
61 str outfile = argv[2]; |
69 str outfile = argv[2]; |
62 |
|
63 ScriptReader *r = new ScriptReader (infile); |
70 ScriptReader *r = new ScriptReader (infile); |
64 ObjWriter *w = new ObjWriter (outfile); |
71 ObjWriter *w = new ObjWriter (outfile); |
65 |
72 |
66 // Alrite, we're set, begin parsing :) |
73 // We're set, begin parsing :) |
67 r->BeginParse (w); |
74 r->BeginParse (w); |
68 |
75 |
|
76 // Clear out the junk afterwards |
69 delete r; |
77 delete r; |
70 delete w; |
78 delete w; |
|
79 |
|
80 // Print statistics |
|
81 printf ("%d states written\n", g_NumStates); |
|
82 printf ("%d events written\n", g_NumEvents); |
71 } |
83 } |
72 |
84 |
73 void error (const char* text, ...) { |
85 void error (const char* text, ...) { |
74 PERFORM_FORMAT (text, c); |
86 PERFORM_FORMAT (text, c); |
75 fprintf (stderr, "error: %s", c); |
87 fprintf (stderr, "error: %s", c); |