Synopsis/Parser.hh

source code

Includes from this file:

include Synopsis/PTree.hh
include Synopsis/SymbolFactory.hh

Declarations in this file:

Classes in Synopsis

Lexer

a Lexer reads tokens from a stream.


Parser

C++ Parser

Classes in Synopsis::Parser

Error

Error is used to cache parse errors encountered during the execution of the parse method.


StatusGuard

A StatusGuard manages a tentative parse.

Data members in Synopsis::Parser::StatusGuard

my_committed

my_error_mark

my_errors

my_lexer

my_token_mark

Data members in Synopsis::Parser

my_comments

my_errors

my_gt_is_operator

If true, > is interpreted as ther greater-than operator.


my_in_template_decl

my_lexer

my_ruleset

my_scope_is_valid

Record whether the current scope is valid.


my_symbols

Enums in Synopsis::Parser

DeclKind

RuleSet

RuleSet defines non-standard optional rules that can be chosen at runtime.


TemplateDeclKind

Member functions in Synopsis::Parser::Error

write(std::ostream&)const

~Error()

Member functions in Synopsis::Parser

Parser(Lexer&,SymbolFactory&,int)

Member functions in Synopsis::Parser::StatusGuard

StatusGuard(Parser&)

Member functions in Synopsis::Parser

class_body(PTree::ClassBody*&)

class_spec(PTree::ClassSpec*&,PTree::Encoding&)

compound_statement(PTree::Block*&,bool)

compound-statement:


const_declaration(PTree::Declaration*&,PTree::Encoding&,PTree::Node*,PTree::Node*)

declaration(PTree::Declaration*&)

declarator(PTree::Node*&,DeclKind,bool,PTree::Encoding&,PTree::Encoding&,bool,bool)

declarator2(PTree::Node*&,DeclKind,bool,PTree::Encoding&,PTree::Encoding&,bool,bool,PTree::Node**)

definition(PTree::Node*&)

enum_spec(PTree::EnumSpec*&,PTree::Encoding&)

function_body(PTree::Block*&)

function-body:


init_declarator_list(PTree::Node*&,PTree::Encoding&,bool,bool)

[gram.dcl.decl]


integral_declaration(PTree::Declaration*&,PTree::Encoding&,PTree::Node*,PTree::Node*,PTree::Node*)

is_allocate_expr(Token::Type)

is_ptr_to_member(int)

maybe_typename_or_class_template(Token&)

namespace_alias(PTree::NamespaceAlias*&)

namespace_spec(PTree::NamespaceSpec*&)

new_declarator(PTree::Declarator*&,PTree::Encoding&)

opt_integral_type_or_class_spec(PTree::Node*&,PTree::Encoding&)

origin(const char*,std::string&)const

Return the origin of the given pointer (filename and line number)


parameter_declaration(PTree::ParameterDeclaration*&,PTree::Encoding&)

parameter-declaration:


parameter_declaration_list_or_init(PTree::Node*&,bool&,PTree::Encoding&,bool)

show_message_head(const char*)

template_decl2(PTree::TemplateDecl*&,TemplateDeclKind&)

template_parameter_list(PTree::List*&)

template-parameter-list:


type_specifier(PTree::Node*&,bool,PTree::Encoding&)

typedef_(PTree::Typedef*&)

using_declaration(PTree::UsingDeclaration*&)

using_directive(PTree::UsingDirective*&)

Member function templates in Synopsis::Parser

declare(T*)

Structs in Synopsis::Parser

ScopeGuard

Thises in Synopsis::Parser::Error::`~Error()

this

Thises in Synopsis::Parser::StatusGuard::`commit()

this

Thises in Synopsis::Parser::`errors()const

this

Typedefs in Synopsis::Parser

ErrorList