Algorithms Library Toolkit
A toolkit for algorithms, especially for algorithms on formal languages
|
#include <Parser.h>
Public Member Functions | |
Parser (cli::Lexer lexer) | |
void | setHint (Lexer::Hint hint) |
template<class ... TokenTypes> | |
bool | check (TokenTypes ... tokens) |
template<class ... NonreservedTokens> | |
bool | check_nonreserved_kw (const NonreservedTokens &... kw) |
template<class ... TokenTypes> | |
bool | match (cli::Lexer::TokenType token, TokenTypes ... tokens) |
template<class ... NonreservedTokens> | |
bool | match_nonreserved_kw (const std::string &kw, const NonreservedTokens &... kws) |
template<class ... TokenTypes> | |
bool | check_then_match (cli::Lexer::TokenType token, TokenTypes ... tokens) |
template<class ... NonreservedTokens> | |
bool | check_then_match_nonreserved_kw (const std::string &kw, const NonreservedTokens &... kws) |
std::string | matchIdentifier () |
std::string | matchString () |
std::string | matchType () |
std::string | matchFile () |
int | matchInteger () |
double | matchDouble () |
const std::string & | getTokenValue () const |
void | incNestedLevel () |
void | decNestedLevel () |
bool | globalScope () const |
std::unique_ptr< Expression > | assign_expression () |
std::unique_ptr< Expression > | or_expression () |
std::unique_ptr< Expression > | and_expression () |
std::unique_ptr< Expression > | bitwise_or_expression () |
std::unique_ptr< Expression > | bitwise_and_expression () |
std::unique_ptr< Expression > | bitwise_xor_expression () |
std::unique_ptr< Expression > | equality_expression () |
std::unique_ptr< Expression > | relational_expression () |
std::unique_ptr< Expression > | add_expression () |
std::unique_ptr< Expression > | mul_expression () |
std::unique_ptr< Expression > | cast_expression () |
std::unique_ptr< Expression > | prefix_expression () |
std::unique_ptr< Expression > | suffix_expression () |
std::unique_ptr< Expression > | atom () |
std::vector< std::unique_ptr< Expression > > | bracketed_expression_list () |
std::unique_ptr< CategoryOption > | category_option () |
std::unique_ptr< TypeOption > | type_option () |
std::unique_ptr< TypeOption > | optional_type_option () |
std::unique_ptr< Arg > | file () |
std::unique_ptr< Arg > | type () |
std::unique_ptr< Arg > | arg () |
std::unique_ptr< Arg > | optional_arg () |
std::unique_ptr< Arg > | template_arg () |
std::unique_ptr< Arg > | optional_variable () |
std::unique_ptr< Arg > | optional_binding () |
std::shared_ptr< Statement > | in_redirect () |
std::shared_ptr< Statement > | common () |
std::shared_ptr< Statement > | param () |
std::shared_ptr< Statement > | statement () |
std::shared_ptr< StatementList > | statement_list () |
std::unique_ptr< Statement > | out_redirect () |
std::pair< bool, bool > | introspect_cast_from_to () |
std::unique_ptr< Command > | introspect_command () |
std::unique_ptr< CommandList > | block () |
std::unique_ptr< Expression > | expression () |
std::unique_ptr< Expression > | batch () |
std::unique_ptr< Expression > | expression_or_batch () |
std::unique_ptr< Expression > | batch_or_expression () |
std::pair< abstraction::TypeQualifiers::TypeQualifierSet, std::unique_ptr< Arg > > | qualifiedType () |
std::pair< abstraction::TypeQualifiers::TypeQualifierSet, std::unique_ptr< Arg > > | runnableParam () |
std::unique_ptr< Command > | command () |
std::unique_ptr< Command > | semicolon_command () |
std::unique_ptr< CommandList > | parse () |
|
inline |
std::unique_ptr< Expression > cli::Parser::add_expression | ( | ) |
std::unique_ptr< Expression > cli::Parser::and_expression | ( | ) |
std::unique_ptr< Arg > cli::Parser::arg | ( | ) |
std::unique_ptr< Expression > cli::Parser::assign_expression | ( | ) |
std::unique_ptr< Expression > cli::Parser::atom | ( | ) |
std::unique_ptr< Expression > cli::Parser::batch | ( | ) |
std::unique_ptr< Expression > cli::Parser::batch_or_expression | ( | ) |
std::unique_ptr< Expression > cli::Parser::bitwise_and_expression | ( | ) |
std::unique_ptr< Expression > cli::Parser::bitwise_or_expression | ( | ) |
std::unique_ptr< Expression > cli::Parser::bitwise_xor_expression | ( | ) |
std::unique_ptr< CommandList > cli::Parser::block | ( | ) |
std::vector< std::unique_ptr< Expression > > cli::Parser::bracketed_expression_list | ( | ) |
std::unique_ptr< Expression > cli::Parser::cast_expression | ( | ) |
std::unique_ptr< CategoryOption > cli::Parser::category_option | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
std::unique_ptr< Command > cli::Parser::command | ( | ) |
std::shared_ptr< Statement > cli::Parser::common | ( | ) |
|
inline |
std::unique_ptr< Expression > cli::Parser::equality_expression | ( | ) |
std::unique_ptr< Expression > cli::Parser::expression | ( | ) |
std::unique_ptr< Expression > cli::Parser::expression_or_batch | ( | ) |
std::unique_ptr< Arg > cli::Parser::file | ( | ) |
|
inline |
|
inline |
std::shared_ptr< Statement > cli::Parser::in_redirect | ( | ) |
|
inline |
std::pair< bool, bool > cli::Parser::introspect_cast_from_to | ( | ) |
std::unique_ptr< Command > cli::Parser::introspect_command | ( | ) |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
std::unique_ptr< Expression > cli::Parser::mul_expression | ( | ) |
std::unique_ptr< Arg > cli::Parser::optional_arg | ( | ) |
std::unique_ptr< Arg > cli::Parser::optional_binding | ( | ) |
std::unique_ptr< TypeOption > cli::Parser::optional_type_option | ( | ) |
std::unique_ptr< Arg > cli::Parser::optional_variable | ( | ) |
std::unique_ptr< Expression > cli::Parser::or_expression | ( | ) |
std::unique_ptr< Statement > cli::Parser::out_redirect | ( | ) |
std::shared_ptr< Statement > cli::Parser::param | ( | ) |
std::unique_ptr< CommandList > cli::Parser::parse | ( | ) |
std::unique_ptr< Expression > cli::Parser::prefix_expression | ( | ) |
std::pair< abstraction::TypeQualifiers::TypeQualifierSet, std::unique_ptr< Arg > > cli::Parser::qualifiedType | ( | ) |
std::unique_ptr< Expression > cli::Parser::relational_expression | ( | ) |
std::pair< abstraction::TypeQualifiers::TypeQualifierSet, std::unique_ptr< Arg > > cli::Parser::runnableParam | ( | ) |
std::unique_ptr< Command > cli::Parser::semicolon_command | ( | ) |
|
inline |
std::shared_ptr< Statement > cli::Parser::statement | ( | ) |
std::shared_ptr< StatementList > cli::Parser::statement_list | ( | ) |
std::unique_ptr< Expression > cli::Parser::suffix_expression | ( | ) |
std::unique_ptr< Arg > cli::Parser::template_arg | ( | ) |
std::unique_ptr< Arg > cli::Parser::type | ( | ) |
std::unique_ptr< TypeOption > cli::Parser::type_option | ( | ) |