A generic node representing a block in the configuration file.
Definition ConfigNode.hpp:15
bool isTokenAValue() const
Definition Parser.cpp:59
void handleStatement()
Definition Parser.cpp:76
void handleServerBlock()
Definition Parser.cpp:65
Token const & currentToken() const
Definition Parser.cpp:18
static std::vector< ConfigNode > parse(TokenArray const &)
Definition Parser.cpp:10
static void addDirective(ConfigNode &node, ParsedDirectivePair const &pair)
Definition Parser.cpp:47
void consumeToken()
Definition Parser.cpp:30
void expectToken(TokenType type)
Definition Parser.cpp:35
Token const & peekToken() const
Definition Parser.cpp:24
size_t pos_
Definition Parser.hpp:36
TokenArray const & tokens_
Definition Parser.hpp:35
size_t size() const
Definition Parser.cpp:16
std::vector< ConfigNode > nodes_
Definition Parser.hpp:34
ParsedDirectivePair handleDirective()
Definition Parser.cpp:104
void handleLocationBlock()
Definition Parser.cpp:83
void displayCurrentToken() const
void pushTokenTo(ParsedDirectiveArgs &args) const
Definition Parser.cpp:120
Definition ArgumentFactory.hpp:5
std::vector< Token > ParsedDirectiveArgs
Definition types.hpp:13
std::vector< Token > TokenArray
Definition Lexer.hpp:8
std::pair< std::string, ParsedDirectiveArgs > ParsedDirectivePair
Definition types.hpp:15
TokenType
Represents the type of a lexical token.
Definition Token.hpp:12
Represents a single lexical token with a type and a literal value.
Definition Token.hpp:28