95 Print ("Parsing script...\n"); |
95 Print ("Parsing script...\n"); |
96 parser->ParseBotscript (argv[1]); |
96 parser->ParseBotscript (argv[1]); |
97 Print ("Script parsed successfully.\n"); |
97 Print ("Script parsed successfully.\n"); |
98 |
98 |
99 // Parse done, print statistics and write to file |
99 // Parse done, print statistics and write to file |
100 int globalcount = parser->GetScope (0).globalVariables.Size(); |
100 int globalcount = parser->GetHighestVarIndex (true) + 1; |
|
101 int statelocalcount = parser->GetHighestVarIndex (false) + 1; |
101 int stringcount = CountStringsInTable(); |
102 int stringcount = CountStringsInTable(); |
102 Print ("%1 / %2 strings\n", stringcount, gMaxStringlistSize); |
103 Print ("%1 / %2 strings\n", stringcount, gMaxStringlistSize); |
103 Print ("%1 / %2 global variable indices\n", globalcount, gMaxGlobalVars); |
104 Print ("%1 / %2 global variable indices\n", globalcount, gMaxGlobalVars); |
|
105 Print ("%1 / %2 state variable indices\n", statelocalcount, gMaxGlobalVars); |
104 Print ("%1 / %2 events\n", parser->GetNumEvents(), gMaxEvents); |
106 Print ("%1 / %2 events\n", parser->GetNumEvents(), gMaxEvents); |
105 Print ("%1 state%s1\n", parser->GetNumStates()); |
107 Print ("%1 state%s1\n", parser->GetNumStates()); |
106 |
108 |
107 parser->WriteToFile (outfile); |
109 parser->WriteToFile (outfile); |
108 delete parser; |
110 delete parser; |
109 return 0; |
111 return 0; |
110 } |
112 } |
111 catch (ScriptError& e) |
113 catch (std::exception& e) |
112 { |
114 { |
113 PrintTo (stderr, "error: %1\n", e.what()); |
115 PrintTo (stderr, "error: %1\n", e.what()); |
114 return 1; |
116 return 1; |
115 } |
117 } |
116 } |
118 } |