Add seti and int operators
This commit is contained in:
@@ -70,32 +70,32 @@ namespace Token
|
||||
LookForTokenEnd,
|
||||
};
|
||||
TokenizerState state = TokenizerState::LookForNextToken;
|
||||
unsigned tokenStart = 0;
|
||||
for(unsigned i = 0u; i < line.size(); ++i)
|
||||
unsigned columnTokenStart = 0;
|
||||
for(unsigned column = 0u; column < line.size(); ++column)
|
||||
{
|
||||
switch(state)
|
||||
{
|
||||
case TokenizerState::LookForNextToken:
|
||||
if (!IsWhiteSpace(line[i]))
|
||||
if (!IsWhiteSpace(line[column]))
|
||||
{
|
||||
if (line[i] == '#')
|
||||
if (line[column] == '#')
|
||||
{
|
||||
// Ignore comments
|
||||
return;
|
||||
}
|
||||
|
||||
tokenStart = i;
|
||||
columnTokenStart = column;
|
||||
state = TokenizerState::LookForTokenEnd;
|
||||
}
|
||||
break;
|
||||
|
||||
case TokenizerState::LookForTokenEnd:
|
||||
if (IsWhiteSpace(line[i]) || line[i] == ';')
|
||||
if (IsWhiteSpace(line[column]) || line[column] == ';')
|
||||
{
|
||||
tokens.push_back(ExtractToken(line.substr(tokenStart, i - tokenStart), lineNumber, tokenStart));
|
||||
if (line[i] == ';')
|
||||
tokens.push_back(ExtractToken(line.substr(columnTokenStart, column - columnTokenStart), lineNumber, columnTokenStart));
|
||||
if (line[column] == ';')
|
||||
{
|
||||
tokens.push_back(ExtractToken(line.substr(i, 1), lineNumber, tokenStart));
|
||||
tokens.push_back(ExtractToken(line.substr(column, 1), lineNumber, column));
|
||||
}
|
||||
state = TokenizerState::LookForNextToken;
|
||||
}
|
||||
@@ -104,7 +104,7 @@ namespace Token
|
||||
}
|
||||
if (state == TokenizerState::LookForTokenEnd)
|
||||
{
|
||||
tokens.push_back(ExtractToken(line.substr(tokenStart, line.size()), lineNumber, tokenStart));
|
||||
tokens.push_back(ExtractToken(line.substr(columnTokenStart, line.size()), lineNumber, columnTokenStart));
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user