Make SimpleLexer be able to be initialized via constructor and not only via inheritence

This commit is contained in:
Jan
2021-10-23 15:16:09 +02:00
parent c8214f769b
commit 56c35cb030
5 changed files with 23 additions and 48 deletions

View File

@ -1,9 +0,0 @@
#include "LocalizeFileLexer.h"
LocalizeFileLexer::LocalizeFileLexer(IParserLineStream* stream)
: SimpleLexer(stream)
{
SetShouldEmitNewLineTokens(true);
SetShouldReadNumbers(false);
SetShouldReadStrings(true);
}

View File

@ -1,9 +0,0 @@
#pragma once
#include "Parsing/Simple/SimpleLexer.h"
class LocalizeFileLexer final : public SimpleLexer
{
public:
explicit LocalizeFileLexer(IParserLineStream* stream);
};

View File

@ -1,6 +1,5 @@
#include "LocalizeFileReader.h"
#include "LocalizeFileLexer.h"
#include "LocalizeFileParser.h"
#include "Parsing/Impl/CommentRemovingStreamProxy.h"
#include "Parsing/Impl/ParserInputStream.h"
@ -30,7 +29,7 @@ void LocalizeFileReader::SetupStreamProxies()
std::vector<LocalizeFileEntry> LocalizeFileReader::ReadLocalizeFile()
{
const auto lexer = std::make_unique<LocalizeFileLexer>(m_stream);
const auto lexer = std::make_unique<SimpleLexer>(m_stream, SimpleLexer::Config{true, true, false});
const auto parser = std::make_unique<LocalizeFileParser>(lexer.get(), m_language);
if (parser->Parse())