일지
인터프리터...13
niamdank
2020. 11. 11. 22:18
파일 처리 및 토큰 처리 준비
Tokenizer.h
#pragma region 파일 처리
std::ifstream ifs;
bool OpenFile(char* path)
{
ifs.open(path);
if (ifs.is_open())
{
return true;
}
return false;
}
#pragma endregion
#pragma region 토큰 처리
string emptyString{ "" };
Token NextToken()
{
int ch{ NextCharacter() };
if (ch == EOF)
{
return Token(TokenKind::EndOfToken, emptyString);
}
while (isspace(ch))
{
ch = NextCharacter();
};
TokenKind tokenKind;
string str;
switch (charType[ch])
{
case TokenKind::Letter:
break;
case TokenKind::Digit:
break;
case TokenKind::DoubleQuotes:
break;
default:
break;
}
return Token(tokenKind, str);
}
int NextCharacter()
{
if (ifs.is_open())
{
if (ifs.eof())
{
ifs.close();
}
else
{
return ifs.get();
}
}
return EOF;
}
#pragma endregion
더보기