CPP-TOOLBOX
Loading...
Searching...
No Matches
cpp_parsing.cpp File Reference
#include "cpp_parsing.hpp"
#include <queue>

Namespaces

namespace  cpp_parsing
 

Functions

ParseResult cpp_parsing::clean_parse_result (const ParseResult &r)
 
const cpp_parsing::ParseResultcpp_parsing::find_first_by_name (const cpp_parsing::ParseResult *root, const std::string &target)
 
const cpp_parsing::ParseResultcpp_parsing::find_first_name_contains (const cpp_parsing::ParseResult *root, const std::string &substr)
 
void cpp_parsing::collect_by_name (const cpp_parsing::ParseResult *root, const std::string &target, std::vector< const cpp_parsing::ParseResult * > &out)
 
std::vector< std::pair< std::string, std::string > > cpp_parsing::bfs_collect_matches (const cpp_parsing::ParseResult *root, const std::vector< std::string > &names)
 
std::string cpp_parsing::node_text (const cpp_parsing::ParseResult *node)
 
std::ostream & cpp_parsing::print_parse_result (std::ostream &os, const ParseResult &result, int indent)
 
std::ostream & cpp_parsing::operator<< (std::ostream &os, const ParseResult &result)
 
CharParserPtr cpp_parsing::optional_whitespace ()
 
CharParserPtr cpp_parsing::identifier ()
 
CharParserPtr cpp_parsing::variable ()
 
CharParserPtr cpp_parsing::base_type ()
 
CharParserPtr cpp_parsing::type_qualifier_sequence ()
 
CharParserPtr cpp_parsing::until_char (std::vector< char > target_chars, bool inclusive, bool ignore_in_strings_and_chars, const std::string &name)
 
CharParserPtr cpp_parsing::literal (const std::string &s)
 
CharParserPtr cpp_parsing::matching_string_pair (const std::string &name, std::string left, std::string right)
 
CharParserPtr cpp_parsing::matching_pair (CharParserPtr left_parser, CharParserPtr right_parser, const std::string &name)
 
CharParserPtr cpp_parsing::nested_string_pair (CharParserPtr parser, const std::string &name, std::string left, std::string right)
 
CharParserPtr cpp_parsing::repeating (CharParserPtr parser, const std::string &name)
 
CharParserPtr cpp_parsing::optional (CharParserPtr parser, const std::string &name)
 
CharParserPtr cpp_parsing::deferred ()
 
CharParserPtr cpp_parsing::if_then (std::shared_ptr< CharParser > condition_parser, std::shared_ptr< CharParser > then_parser, const std::string &name)
 
CharParserPtr cpp_parsing::any_of (std::vector< CharParserPtr > parsers, const std::string &name)
 
CharParserPtr cpp_parsing::sequence (std::vector< CharParserPtr > parsers, const std::string &name)
 
CharParserPtr cpp_parsing::not_any_of (std::shared_ptr< CharParser > inner, std::unordered_set< std::string > forbidden, std::string name)
 
std::string cpp_parsing::remove_macros (const std::string &code)
 
std::string cpp_parsing::remove_comments_from_file (const std::string &filename)
 
std::unordered_map< std::string, std::vector< std::string > > cpp_parsing::collect_matches_by_parser_name (const ParseResult &result, const std::vector< std::string > &target_names)
 
ParseResult cpp_parsing::parse_source_or_header_file (const std::string &source_code_path)
 
std::unordered_map< std::string, std::vector< std::string > > cpp_parsing::get_parser_name_to_matches_for_source_file (const std::string &source_code_path)
 
std::vector< std::string > cpp_parsing::extract_all_matches_for_a_particular_parser (const std::string &source_code_path, const std::string &parser_name)
 
std::vector< std::string > cpp_parsing::extract_top_level_functions (const std::string &source_code_path)
 
std::vector< std::string > cpp_parsing::extract_top_level_function_declarations (const std::string &header_code_path)
 
std::vector< std::string > cpp_parsing::extract_top_level_classes (const std::string &source_code_path)
 
std::vector< std::string > cpp_parsing::extract_top_level_enum_classes (const std::string &source_code_path)
 
CharParserPtr cpp_parsing::get_templated_type_parser ()