Template Struct AstBase
Defined in File peglib.h
Inheritance Relationships
Base Type
public Annotation
Struct Documentation
-
template<typename Annotation>
struct AstBase : public Annotation Public Functions
-
inline AstBase(const char *path, size_t line, size_t column, const char *name, const std::string_view &token, size_t position = 0, size_t length = 0, size_t choice_count = 0, size_t choice = 0)
-
inline AstBase(const AstBase &ast, const char *original_name, size_t position = 0, size_t length = 0, size_t original_choice_count = 0, size_t original_choice = 0)
-
inline std::string token_to_string() const
Public Members
-
const std::string path
-
const size_t line = 1
-
const size_t column = 1
-
const std::string name
-
size_t position
-
size_t length
-
const size_t choice_count
-
const size_t choice
-
const std::string original_name
-
const size_t original_choice_count
-
const size_t original_choice
-
const unsigned int tag
-
const unsigned int original_tag
-
const bool is_token
-
const std::string_view token
-
std::vector<std::shared_ptr<AstBase<Annotation>>> nodes
-
std::weak_ptr<AstBase<Annotation>> parent
-
inline AstBase(const char *path, size_t line, size_t column, const char *name, const std::string_view &token, size_t position = 0, size_t length = 0, size_t choice_count = 0, size_t choice = 0)