Files
funnygame/asmrigs/brb/lexer.cpp
2026-01-17 11:24:00 +02:00

41 lines
752 B
C++

#include "brb.h"
abstract_class CBLexerWord: public IBLexerWord
{
public:
virtual int GetType() override;
EBWordType m_eType;
};
int CBLexerWord::GetType()
{
return m_eType;
}
class CBLexer: public ILexer
{
public:
virtual ILexerWord *ParseTokens( CUtlVector<Token_t> tokens ) override;
CBLexerWord *ParseFunctionBody( Token_t *&pToken, const Token_t *pEnding );
bool GetExpectedToken();
CUtlString GetStringLiteral();
};
#define NEXT_TOKEN() \
pToken++; \
if (pToken == pEnding) \
goto eof \
ILexerWord *CBLexer::ParseTokens( CUtlVector<Token_t> tokens )
{
Token_t *pCurrentToken = tokens.GetData();
Token_t *pEndingToken = tokens.GetData() + tokens.GetSize();
CBLexerWord *pGlobalWord = new CBLexerWord;
return pGlobalWord;
};