mirror of
https://github.com/sam-astro/Z-Sharp.git
synced 2025-12-11 16:22:12 +00:00
Remove useless lines during preprocessing
This commit is contained in:
parent
a1dcb55468
commit
a4f7bdab2b
@ -679,13 +679,19 @@ boost::any ExecuteFunction(const string& functionName, const vector<boost::any>&
|
|||||||
|
|
||||||
int parseZSharp(string script)
|
int parseZSharp(string script)
|
||||||
{
|
{
|
||||||
script = replace(script, " ", "\t"); // Replace spaces with tabs (not really required, and will break purposefull whitespace in strings etc.)
|
//script = replace(script, " ", "\t"); // Replace spaces with tabs (not really required, and will break purposefull whitespace in strings etc.)
|
||||||
#if DEVELOPER_MESSAGES
|
#if DEVELOPER_MESSAGES
|
||||||
InterpreterLog("Contents:\n" + script);
|
InterpreterLog("Contents:\n" + script);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Split the script by ;, signifying a line ending
|
// Split the script by ;, signifying a line ending
|
||||||
vector<string> lines = split(script, '\n');
|
vector<string> lines = split(script, '\n');
|
||||||
|
for (int i = 0; i < (int)lines.size(); i++){ // Then split said lines into indiviual words
|
||||||
|
if((lines.at(i)[0] == "/" && lines.at(i)[1] == "/") || trim(lines.at(i)) == "")
|
||||||
|
{ // Remove line if it is a comment or if it is blank
|
||||||
|
lines.erase(lines.begin() + i);
|
||||||
|
}
|
||||||
|
}
|
||||||
vector<vector<string>> words;
|
vector<vector<string>> words;
|
||||||
for (int i = 0; i < (int)lines.size(); i++) // Then split said lines into indiviual words
|
for (int i = 0; i < (int)lines.size(); i++) // Then split said lines into indiviual words
|
||||||
words.push_back(split(lines.at(i), ' '));
|
words.push_back(split(lines.at(i), ' '));
|
||||||
@ -693,7 +699,7 @@ int parseZSharp(string script)
|
|||||||
#if DEVELOPER_MESSAGES
|
#if DEVELOPER_MESSAGES
|
||||||
InterpreterLog("Gather variables & functions...");
|
InterpreterLog("Gather variables & functions...");
|
||||||
#endif
|
#endif
|
||||||
// First go through entire script and iterate through all types to see if line is a variable
|
// Go through entire script and iterate through all types to see if line is a variable
|
||||||
// or function declaration, then store it with it's value
|
// or function declaration, then store it with it's value
|
||||||
for (int lineNum = 0; lineNum < (int)words.size(); lineNum++)
|
for (int lineNum = 0; lineNum < (int)words.size(); lineNum++)
|
||||||
{
|
{
|
||||||
@ -867,7 +873,7 @@ int main(int argc, char* argv[])
|
|||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{ // If no script is provided as an argument then throw error
|
{ // If no script is provided as an argument throw error
|
||||||
LogWarning("No script provided! Please drag and drop .ZS file over interpreter executable file, or provide it's path as a command-line argument.");
|
LogWarning("No script provided! Please drag and drop .ZS file over interpreter executable file, or provide it's path as a command-line argument.");
|
||||||
cout << "Press Enter to Continue";
|
cout << "Press Enter to Continue";
|
||||||
cin.ignore();
|
cin.ignore();
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user