Project Alice
Loading...
Searching...
No Matches
parser_generator.cpp File Reference
#include <cstdint>
#include <memory>
#include <vector>
#include <string_view>
#include <string>
#include <locale>
#include <fstream>
#include <functional>
#include <cstdarg>
#include <iostream>
#include <optional>
#include <sstream>
#include <cassert>
#include <algorithm>
Include dependency graph for parser_generator.cpp:

Go to the source code of this file.

Classes

struct  value_and_optional
 
struct  value_association
 
struct  group_association
 
struct  extern_group
 
struct  group_contents
 
struct  location_info
 
struct  token
 
struct  parser_state
 
struct  cxx_tree_builder
 

Enumerations

enum  token_type {
  none , group_ident , group_item_ident , ident ,
  lparen , rparen , newline
}
 

Functions

std::string char_to_hex (char c)
 
std::string string_to_hex (std::string_view const s, int32_t start, int32_t count)
 
std::string final_match_condition_internal (std::string_view const key, int32_t starting_position, int32_t ending_position)
 
std::string final_match_condition (std::string_view const key, size_t starting_position, size_t ending_position)
 
template<typename V , typename F >
void enum_with_prefix (V const &vector, std::string_view const prefix, int32_t length, F const &fn)
 
template<typename V >
int32_t count_with_prefix (V const &vector, std::string_view const prefix, int32_t length)
 
template<typename V >
int32_t max_length (V const &vector)
 
int main (int argc, char *argv[])
 

Enumeration Type Documentation

◆ token_type

enum token_type
Enumerator
none 
group_ident 
group_item_ident 
ident 
lparen 
rparen 
newline 

Definition at line 56 of file parser_generator.cpp.

Function Documentation

◆ char_to_hex()

std::string char_to_hex ( char  c)

Definition at line 364 of file parser_generator.cpp.

Here is the caller graph for this function:

◆ count_with_prefix()

template<typename V >
int32_t count_with_prefix ( V const &  vector,
std::string_view const  prefix,
int32_t  length 
)

Definition at line 430 of file parser_generator.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ enum_with_prefix()

template<typename V , typename F >
void enum_with_prefix ( V const &  vector,
std::string_view const  prefix,
int32_t  length,
F const &  fn 
)

Definition at line 410 of file parser_generator.cpp.

Here is the caller graph for this function:

◆ final_match_condition()

std::string final_match_condition ( std::string_view const  key,
size_t  starting_position,
size_t  ending_position 
)

Definition at line 401 of file parser_generator.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ final_match_condition_internal()

std::string final_match_condition_internal ( std::string_view const  key,
int32_t  starting_position,
int32_t  ending_position 
)

single char

Definition at line 380 of file parser_generator.cpp.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ main()

int main ( int  argc,
char *  argv[] 
)

Definition at line 895 of file parser_generator.cpp.

Here is the call graph for this function:

◆ max_length()

template<typename V >
int32_t max_length ( V const &  vector)

Definition at line 439 of file parser_generator.cpp.

Here is the caller graph for this function:

◆ string_to_hex()

std::string string_to_hex ( std::string_view const  s,
int32_t  start,
int32_t  count 
)

Definition at line 373 of file parser_generator.cpp.

Here is the call graph for this function:
Here is the caller graph for this function: