mirror of
https://github.com/Laupetin/OpenAssetTools.git
synced 2025-04-20 00:02:55 +00:00
Move menu parsing classes to menu namespace
This commit is contained in:
parent
38d60983e8
commit
ff823b4722
@ -28,7 +28,7 @@ bool AssetLoaderMenuList::LoadFromRaw(const std::string& assetName, ISearchPath*
|
|||||||
if (!file.IsOpen())
|
if (!file.IsOpen())
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
MenuFileReader reader(*file.m_stream, assetName, MenuFeatureLevel::IW4, [searchPath](const std::string& filename, const std::string& sourceFile) -> std::unique_ptr<std::istream>
|
menu::MenuFileReader reader(*file.m_stream, assetName, menu::FeatureLevel::IW4, [searchPath](const std::string& filename, const std::string& sourceFile) -> std::unique_ptr<std::istream>
|
||||||
{
|
{
|
||||||
auto foundFileToInclude = searchPath->Open(filename);
|
auto foundFileToInclude = searchPath->Open(filename);
|
||||||
if (!foundFileToInclude.IsOpen() || !foundFileToInclude.m_stream)
|
if (!foundFileToInclude.IsOpen() || !foundFileToInclude.m_stream)
|
||||||
|
@ -2,8 +2,11 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
class CommonFunctionDef
|
namespace menu
|
||||||
{
|
{
|
||||||
public:
|
class CommonFunctionDef
|
||||||
|
{
|
||||||
|
public:
|
||||||
std::string m_name;
|
std::string m_name;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -2,8 +2,11 @@
|
|||||||
|
|
||||||
#include <string>
|
#include <string>
|
||||||
|
|
||||||
class CommonItemDef
|
namespace menu
|
||||||
{
|
{
|
||||||
public:
|
class CommonItemDef
|
||||||
|
{
|
||||||
|
public:
|
||||||
std::string m_name;
|
std::string m_name;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -5,9 +5,12 @@
|
|||||||
|
|
||||||
#include "CommonItemDef.h"
|
#include "CommonItemDef.h"
|
||||||
|
|
||||||
class CommonMenuDef
|
namespace menu
|
||||||
{
|
{
|
||||||
public:
|
class CommonMenuDef
|
||||||
|
{
|
||||||
|
public:
|
||||||
std::string m_name;
|
std::string m_name;
|
||||||
std::vector<std::unique_ptr<CommonItemDef>> m_items;
|
std::vector<std::unique_ptr<CommonItemDef>> m_items;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -1,7 +1,10 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
enum class MenuFeatureLevel
|
namespace menu
|
||||||
{
|
{
|
||||||
|
enum class FeatureLevel
|
||||||
|
{
|
||||||
IW4,
|
IW4,
|
||||||
IW5
|
IW5
|
||||||
};
|
};
|
||||||
|
}
|
@ -6,10 +6,13 @@
|
|||||||
#include "CommonFunctionDef.h"
|
#include "CommonFunctionDef.h"
|
||||||
#include "CommonMenuDef.h"
|
#include "CommonMenuDef.h"
|
||||||
|
|
||||||
class MenuParsingResult
|
namespace menu
|
||||||
{
|
{
|
||||||
public:
|
class ParsingResult
|
||||||
|
{
|
||||||
|
public:
|
||||||
std::vector<std::unique_ptr<CommonMenuDef>> m_menus;
|
std::vector<std::unique_ptr<CommonMenuDef>> m_menus;
|
||||||
std::vector<std::unique_ptr<CommonFunctionDef>> m_functions;
|
std::vector<std::unique_ptr<CommonFunctionDef>> m_functions;
|
||||||
std::vector<std::string> m_menus_to_load;
|
std::vector<std::string> m_menus_to_load;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -8,7 +8,9 @@
|
|||||||
#include "Sequence/SequenceOpenGlobalScopeBlock.h"
|
#include "Sequence/SequenceOpenGlobalScopeBlock.h"
|
||||||
#include "Sequence/Properties/SequenceName.h"
|
#include "Sequence/Properties/SequenceName.h"
|
||||||
|
|
||||||
MenuFileParser::MenuFileParser(SimpleLexer* lexer, const MenuFeatureLevel featureLevel)
|
using namespace menu;
|
||||||
|
|
||||||
|
MenuFileParser::MenuFileParser(SimpleLexer* lexer, const FeatureLevel featureLevel)
|
||||||
: AbstractParser(lexer, std::make_unique<MenuFileParserState>(featureLevel))
|
: AbstractParser(lexer, std::make_unique<MenuFileParserState>(featureLevel))
|
||||||
{
|
{
|
||||||
CreateTestCollections();
|
CreateTestCollections();
|
||||||
|
@ -6,8 +6,10 @@
|
|||||||
#include "Parsing/Simple/SimpleParserValue.h"
|
#include "Parsing/Simple/SimpleParserValue.h"
|
||||||
#include "Parsing/Impl/AbstractParser.h"
|
#include "Parsing/Impl/AbstractParser.h"
|
||||||
|
|
||||||
class MenuFileParser final : public AbstractParser<SimpleParserValue, MenuFileParserState>
|
namespace menu
|
||||||
{
|
{
|
||||||
|
class MenuFileParser final : public AbstractParser<SimpleParserValue, MenuFileParserState>
|
||||||
|
{
|
||||||
std::vector<std::unique_ptr<sequence_t>> m_all_tests;
|
std::vector<std::unique_ptr<sequence_t>> m_all_tests;
|
||||||
std::vector<sequence_t*> m_no_scope_tests;
|
std::vector<sequence_t*> m_no_scope_tests;
|
||||||
std::vector<sequence_t*> m_global_scope_tests;
|
std::vector<sequence_t*> m_global_scope_tests;
|
||||||
@ -23,10 +25,11 @@ class MenuFileParser final : public AbstractParser<SimpleParserValue, MenuFilePa
|
|||||||
void CreateItemScopeTests();
|
void CreateItemScopeTests();
|
||||||
void CreateTestCollections();
|
void CreateTestCollections();
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
const std::vector<sequence_t*>& GetTestsForState() override;
|
const std::vector<sequence_t*>& GetTestsForState() override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MenuFileParser(SimpleLexer* lexer, MenuFeatureLevel featureLevel);
|
MenuFileParser(SimpleLexer* lexer, FeatureLevel featureLevel);
|
||||||
_NODISCARD MenuFileParserState* GetState() const;
|
_NODISCARD MenuFileParserState* GetState() const;
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -1,6 +1,8 @@
|
|||||||
#include "MenuFileParserState.h"
|
#include "MenuFileParserState.h"
|
||||||
|
|
||||||
MenuFileParserState::MenuFileParserState(const MenuFeatureLevel featureLevel)
|
using namespace menu;
|
||||||
|
|
||||||
|
MenuFileParserState::MenuFileParserState(const FeatureLevel featureLevel)
|
||||||
: m_feature_level(featureLevel),
|
: m_feature_level(featureLevel),
|
||||||
m_in_global_scope(false)
|
m_in_global_scope(false)
|
||||||
{
|
{
|
||||||
|
@ -8,10 +8,12 @@
|
|||||||
#include "Domain/CommonMenuDef.h"
|
#include "Domain/CommonMenuDef.h"
|
||||||
#include "Domain/MenuFeatureLevel.h"
|
#include "Domain/MenuFeatureLevel.h"
|
||||||
|
|
||||||
class MenuFileParserState
|
namespace menu
|
||||||
{
|
{
|
||||||
public:
|
class MenuFileParserState
|
||||||
const MenuFeatureLevel m_feature_level;
|
{
|
||||||
|
public:
|
||||||
|
const FeatureLevel m_feature_level;
|
||||||
|
|
||||||
std::vector<std::string> m_menus_to_load;
|
std::vector<std::string> m_menus_to_load;
|
||||||
std::vector<std::unique_ptr<CommonFunctionDef>> m_functions;
|
std::vector<std::unique_ptr<CommonFunctionDef>> m_functions;
|
||||||
@ -25,5 +27,6 @@ public:
|
|||||||
std::unique_ptr<CommonMenuDef> m_current_menu;
|
std::unique_ptr<CommonMenuDef> m_current_menu;
|
||||||
std::unique_ptr<CommonItemDef> m_current_item;
|
std::unique_ptr<CommonItemDef> m_current_item;
|
||||||
|
|
||||||
explicit MenuFileParserState(MenuFeatureLevel featureLevel);
|
explicit MenuFileParserState(FeatureLevel featureLevel);
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -8,7 +8,9 @@
|
|||||||
#include "Parsing/Impl/ParserSingleInputStream.h"
|
#include "Parsing/Impl/ParserSingleInputStream.h"
|
||||||
#include "Parsing/Simple/SimpleLexer.h"
|
#include "Parsing/Simple/SimpleLexer.h"
|
||||||
|
|
||||||
MenuFileReader::MenuFileReader(std::istream& stream, std::string fileName, const MenuFeatureLevel featureLevel, include_callback_t includeCallback)
|
using namespace menu;
|
||||||
|
|
||||||
|
MenuFileReader::MenuFileReader(std::istream& stream, std::string fileName, const FeatureLevel featureLevel, include_callback_t includeCallback)
|
||||||
: m_feature_level(featureLevel),
|
: m_feature_level(featureLevel),
|
||||||
m_file_name(std::move(fileName)),
|
m_file_name(std::move(fileName)),
|
||||||
m_stream(nullptr)
|
m_stream(nullptr)
|
||||||
@ -18,7 +20,7 @@ MenuFileReader::MenuFileReader(std::istream& stream, std::string fileName, const
|
|||||||
m_stream = m_open_streams.back().get();
|
m_stream = m_open_streams.back().get();
|
||||||
}
|
}
|
||||||
|
|
||||||
MenuFileReader::MenuFileReader(std::istream& stream, std::string fileName, const MenuFeatureLevel featureLevel)
|
MenuFileReader::MenuFileReader(std::istream& stream, std::string fileName, const FeatureLevel featureLevel)
|
||||||
: m_feature_level(featureLevel),
|
: m_feature_level(featureLevel),
|
||||||
m_file_name(std::move(fileName)),
|
m_file_name(std::move(fileName)),
|
||||||
m_stream(nullptr)
|
m_stream(nullptr)
|
||||||
@ -45,10 +47,10 @@ void MenuFileReader::SetupDefinesProxy()
|
|||||||
defines->AddDefine(DefinesStreamProxy::Define("PC", "1"));
|
defines->AddDefine(DefinesStreamProxy::Define("PC", "1"));
|
||||||
switch(m_feature_level)
|
switch(m_feature_level)
|
||||||
{
|
{
|
||||||
case MenuFeatureLevel::IW4:
|
case FeatureLevel::IW4:
|
||||||
defines->AddDefine(DefinesStreamProxy::Define("FEATURE_LEVEL_IW4", "1"));
|
defines->AddDefine(DefinesStreamProxy::Define("FEATURE_LEVEL_IW4", "1"));
|
||||||
break;
|
break;
|
||||||
case MenuFeatureLevel::IW5:
|
case FeatureLevel::IW5:
|
||||||
defines->AddDefine(DefinesStreamProxy::Define("FEATURE_LEVEL_IW5", "1"));
|
defines->AddDefine(DefinesStreamProxy::Define("FEATURE_LEVEL_IW5", "1"));
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
@ -97,9 +99,9 @@ bool MenuFileReader::IsValidEndState(const MenuFileParserState* state) const
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<MenuParsingResult> MenuFileReader::CreateParsingResult(MenuFileParserState* state) const
|
std::unique_ptr<ParsingResult> MenuFileReader::CreateParsingResult(MenuFileParserState* state) const
|
||||||
{
|
{
|
||||||
auto result = std::make_unique<MenuParsingResult>();
|
auto result = std::make_unique<ParsingResult>();
|
||||||
result->m_menus = std::move(state->m_menus);
|
result->m_menus = std::move(state->m_menus);
|
||||||
result->m_functions = std::move(state->m_functions);
|
result->m_functions = std::move(state->m_functions);
|
||||||
result->m_menus_to_load = std::move(state->m_menus_to_load);
|
result->m_menus_to_load = std::move(state->m_menus_to_load);
|
||||||
@ -107,9 +109,9 @@ std::unique_ptr<MenuParsingResult> MenuFileReader::CreateParsingResult(MenuFileP
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
std::unique_ptr<MenuParsingResult> MenuFileReader::ReadMenuFile()
|
std::unique_ptr<ParsingResult> MenuFileReader::ReadMenuFile()
|
||||||
{
|
{
|
||||||
const auto lexer = std::make_unique<SimpleLexer>(m_stream, SimpleLexer::Config{false, true, false});
|
const auto lexer = std::make_unique<SimpleLexer>(m_stream, SimpleLexer::Config{false, true, true});
|
||||||
const auto parser = std::make_unique<MenuFileParser>(lexer.get(), m_feature_level);
|
const auto parser = std::make_unique<MenuFileParser>(lexer.get(), m_feature_level);
|
||||||
|
|
||||||
if (!parser->Parse())
|
if (!parser->Parse())
|
||||||
|
@ -9,13 +9,15 @@
|
|||||||
#include "Domain/MenuParsingResult.h"
|
#include "Domain/MenuParsingResult.h"
|
||||||
#include "Parsing/IParserLineStream.h"
|
#include "Parsing/IParserLineStream.h"
|
||||||
|
|
||||||
class MenuFileReader
|
namespace menu
|
||||||
{
|
{
|
||||||
public:
|
class MenuFileReader
|
||||||
|
{
|
||||||
|
public:
|
||||||
using include_callback_t = std::function<std::unique_ptr<std::istream>(const std::string& filename, const std::string& sourceFile)>;
|
using include_callback_t = std::function<std::unique_ptr<std::istream>(const std::string& filename, const std::string& sourceFile)>;
|
||||||
|
|
||||||
private:
|
private:
|
||||||
const MenuFeatureLevel m_feature_level;
|
const FeatureLevel m_feature_level;
|
||||||
const std::string m_file_name;
|
const std::string m_file_name;
|
||||||
|
|
||||||
IParserLineStream* m_stream;
|
IParserLineStream* m_stream;
|
||||||
@ -26,11 +28,12 @@ private:
|
|||||||
void SetupStreamProxies();
|
void SetupStreamProxies();
|
||||||
|
|
||||||
bool IsValidEndState(const MenuFileParserState* state) const;
|
bool IsValidEndState(const MenuFileParserState* state) const;
|
||||||
std::unique_ptr<MenuParsingResult> CreateParsingResult(MenuFileParserState* state) const;
|
std::unique_ptr<ParsingResult> CreateParsingResult(MenuFileParserState* state) const;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
MenuFileReader(std::istream& stream, std::string fileName, MenuFeatureLevel featureLevel);
|
MenuFileReader(std::istream& stream, std::string fileName, FeatureLevel featureLevel);
|
||||||
MenuFileReader(std::istream& stream, std::string fileName, MenuFeatureLevel featureLevel, include_callback_t includeCallback);
|
MenuFileReader(std::istream& stream, std::string fileName, FeatureLevel featureLevel, include_callback_t includeCallback);
|
||||||
|
|
||||||
std::unique_ptr<MenuParsingResult> ReadMenuFile();
|
std::unique_ptr<ParsingResult> ReadMenuFile();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
||||||
|
|
||||||
|
using namespace menu;
|
||||||
|
|
||||||
SequenceName::SequenceName()
|
SequenceName::SequenceName()
|
||||||
{
|
{
|
||||||
const SimpleMatcherFactory create(this);
|
const SimpleMatcherFactory create(this);
|
||||||
|
@ -2,13 +2,16 @@
|
|||||||
|
|
||||||
#include "Parsing/Menu/MenuFileParser.h"
|
#include "Parsing/Menu/MenuFileParser.h"
|
||||||
|
|
||||||
class SequenceName final : public MenuFileParser::sequence_t
|
namespace menu
|
||||||
{
|
{
|
||||||
|
class SequenceName final : public MenuFileParser::sequence_t
|
||||||
|
{
|
||||||
static constexpr auto CAPTURE_NAME = 1;
|
static constexpr auto CAPTURE_NAME = 1;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SequenceName();
|
SequenceName();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -4,6 +4,8 @@
|
|||||||
|
|
||||||
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
||||||
|
|
||||||
|
using namespace menu;
|
||||||
|
|
||||||
SequenceCloseBlock::SequenceCloseBlock()
|
SequenceCloseBlock::SequenceCloseBlock()
|
||||||
{
|
{
|
||||||
const SimpleMatcherFactory create(this);
|
const SimpleMatcherFactory create(this);
|
||||||
|
@ -2,13 +2,16 @@
|
|||||||
|
|
||||||
#include "Parsing/Menu/MenuFileParser.h"
|
#include "Parsing/Menu/MenuFileParser.h"
|
||||||
|
|
||||||
class SequenceCloseBlock final : public MenuFileParser::sequence_t
|
namespace menu
|
||||||
{
|
{
|
||||||
|
class SequenceCloseBlock final : public MenuFileParser::sequence_t
|
||||||
|
{
|
||||||
static constexpr auto CAPTURE_TOKEN = 1;
|
static constexpr auto CAPTURE_TOKEN = 1;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SequenceCloseBlock();
|
SequenceCloseBlock();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
||||||
|
|
||||||
|
using namespace menu;
|
||||||
|
|
||||||
SequenceFunctionDef::SequenceFunctionDef()
|
SequenceFunctionDef::SequenceFunctionDef()
|
||||||
{
|
{
|
||||||
const SimpleMatcherFactory create(this);
|
const SimpleMatcherFactory create(this);
|
||||||
|
@ -2,11 +2,14 @@
|
|||||||
|
|
||||||
#include "Parsing/Menu/MenuFileParser.h"
|
#include "Parsing/Menu/MenuFileParser.h"
|
||||||
|
|
||||||
class SequenceFunctionDef final : public MenuFileParser::sequence_t
|
namespace menu
|
||||||
{
|
{
|
||||||
protected:
|
class SequenceFunctionDef final : public MenuFileParser::sequence_t
|
||||||
|
{
|
||||||
|
protected:
|
||||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SequenceFunctionDef();
|
SequenceFunctionDef();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
||||||
|
|
||||||
|
using namespace menu;
|
||||||
|
|
||||||
SequenceItemDef::SequenceItemDef()
|
SequenceItemDef::SequenceItemDef()
|
||||||
{
|
{
|
||||||
const SimpleMatcherFactory create(this);
|
const SimpleMatcherFactory create(this);
|
||||||
|
@ -2,11 +2,14 @@
|
|||||||
|
|
||||||
#include "Parsing/Menu/MenuFileParser.h"
|
#include "Parsing/Menu/MenuFileParser.h"
|
||||||
|
|
||||||
class SequenceItemDef final : public MenuFileParser::sequence_t
|
namespace menu
|
||||||
{
|
{
|
||||||
protected:
|
class SequenceItemDef final : public MenuFileParser::sequence_t
|
||||||
|
{
|
||||||
|
protected:
|
||||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SequenceItemDef();
|
SequenceItemDef();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
||||||
|
|
||||||
|
using namespace menu;
|
||||||
|
|
||||||
SequenceLoadMenu::SequenceLoadMenu()
|
SequenceLoadMenu::SequenceLoadMenu()
|
||||||
{
|
{
|
||||||
const SimpleMatcherFactory create(this);
|
const SimpleMatcherFactory create(this);
|
||||||
|
@ -2,13 +2,16 @@
|
|||||||
|
|
||||||
#include "Parsing/Menu/MenuFileParser.h"
|
#include "Parsing/Menu/MenuFileParser.h"
|
||||||
|
|
||||||
class SequenceLoadMenu final : public MenuFileParser::sequence_t
|
namespace menu
|
||||||
{
|
{
|
||||||
|
class SequenceLoadMenu final : public MenuFileParser::sequence_t
|
||||||
|
{
|
||||||
static constexpr auto CAPTURE_MENU_NAME = 1;
|
static constexpr auto CAPTURE_MENU_NAME = 1;
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SequenceLoadMenu();
|
SequenceLoadMenu();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
||||||
|
|
||||||
|
using namespace menu;
|
||||||
|
|
||||||
SequenceMenuDef::SequenceMenuDef()
|
SequenceMenuDef::SequenceMenuDef()
|
||||||
{
|
{
|
||||||
const SimpleMatcherFactory create(this);
|
const SimpleMatcherFactory create(this);
|
||||||
|
@ -2,11 +2,14 @@
|
|||||||
|
|
||||||
#include "Parsing/Menu/MenuFileParser.h"
|
#include "Parsing/Menu/MenuFileParser.h"
|
||||||
|
|
||||||
class SequenceMenuDef final : public MenuFileParser::sequence_t
|
namespace menu
|
||||||
{
|
{
|
||||||
protected:
|
class SequenceMenuDef final : public MenuFileParser::sequence_t
|
||||||
|
{
|
||||||
|
protected:
|
||||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SequenceMenuDef();
|
SequenceMenuDef();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
@ -2,6 +2,8 @@
|
|||||||
|
|
||||||
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
#include "Parsing/Simple/Matcher/SimpleMatcherFactory.h"
|
||||||
|
|
||||||
|
using namespace menu;
|
||||||
|
|
||||||
SequenceOpenGlobalScopeBlock::SequenceOpenGlobalScopeBlock()
|
SequenceOpenGlobalScopeBlock::SequenceOpenGlobalScopeBlock()
|
||||||
{
|
{
|
||||||
const SimpleMatcherFactory create(this);
|
const SimpleMatcherFactory create(this);
|
||||||
|
@ -2,11 +2,14 @@
|
|||||||
|
|
||||||
#include "Parsing/Menu/MenuFileParser.h"
|
#include "Parsing/Menu/MenuFileParser.h"
|
||||||
|
|
||||||
class SequenceOpenGlobalScopeBlock final : public MenuFileParser::sequence_t
|
namespace menu
|
||||||
{
|
{
|
||||||
protected:
|
class SequenceOpenGlobalScopeBlock final : public MenuFileParser::sequence_t
|
||||||
|
{
|
||||||
|
protected:
|
||||||
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
void ProcessMatch(MenuFileParserState* state, SequenceResult<SimpleParserValue>& result) const override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SequenceOpenGlobalScopeBlock();
|
SequenceOpenGlobalScopeBlock();
|
||||||
};
|
};
|
||||||
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user