Main Page   Namespace List   Class Hierarchy   Compound List   File List   Compound Members   File Members  

Ptree Class Reference

#include <ptree-core.h>

Inheritance diagram for Ptree:

Inheritance graph
[legend]
Collaboration diagram for Ptree:

Collaboration graph
[legend]
List of all members.

Public Methods

virtual bool IsLeaf ()=0
bool Eq (char)
bool Eq (char *)
bool Eq (const char *, int)
bool Eq (Ptree *p)
void Display ()
void Display2 (ostream &)
virtual void Print (ostream &, int, int)=0
int Write (ostream &)
virtual int Write (ostream &, int)=0
void PrintIndent (ostream &, int)
char * ToString ()
virtual void WritePS (ProgramString &)=0
char * GetPosition ()
int GetLength ()
Ptree * Car ()
Ptree * Cdr ()
Ptree * Cadr ()
Ptree * Cddr ()
Ptree * Ca_ar ()
void SetCar (Ptree *p)
void SetCdr (Ptree *p)
char * LeftMost ()
char * RightMost ()
virtual int What ()
bool IsA (int)
bool IsA (int, int)
bool IsA (int, int, int)
virtual Ptree * Translate (Walker *)
virtual void Typeof (Walker *, TypeInfo &)
virtual char * GetEncodedType ()
virtual char * GetEncodedName ()
Ptree * Last ()
Ptree * First ()
Ptree * Rest ()
Ptree * Second ()
Ptree * Third ()
Ptree * Nth (int n)
int Length ()
Ptree * ListTail (int n)
bool Reify (unsigned int &)
bool Reify (char *&)

Static Public Methods

bool Eq (Ptree *, char)
bool Eq (Ptree *, char *)
bool Eq (Ptree *, char *, int)
bool Eq (Ptree *, Ptree *)
bool Equiv (Ptree *, Ptree *)
bool Equal (Ptree *, Ptree *)
Ptree * Last (Ptree *)
Ptree * First (Ptree *)
Ptree * Rest (Ptree *)
Ptree * Second (Ptree *)
Ptree * Third (Ptree *)
Ptree * Nth (Ptree *, int)
int Length (Ptree *)
Ptree * ListTail (Ptree *, int)
Ptree * Cons (Ptree *, Ptree *)
Ptree * List ()
Ptree * List (Ptree *)
Ptree * List (Ptree *, Ptree *)
Ptree * List (Ptree *, Ptree *, Ptree *)
Ptree * List (Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * List (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * List (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * List (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * List (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * CopyList (Ptree *)
Ptree * Append (Ptree *, Ptree *)
Ptree * ReplaceAll (Ptree *, Ptree *, Ptree *)
Ptree * Subst (Ptree *, Ptree *, Ptree *)
Ptree * Subst (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * Subst (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * ShallowSubst (Ptree *, Ptree *, Ptree *)
Ptree * ShallowSubst (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * ShallowSubst (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * ShallowSubst (Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *, Ptree *)
Ptree * SubstSublist (Ptree *, Ptree *, Ptree *)
Ptree * Snoc (Ptree *, Ptree *)
Ptree * Nconc (Ptree *, Ptree *)
Ptree * Nconc (Ptree *, Ptree *, Ptree *)
bool Match (Ptree *, char *,...)
Ptree * Make (const char *pat,...)
Ptree * MakeStatement (const char *pat,...)
Ptree * GenSym ()
Ptree * qMake (char *)
Ptree * qMakeStatement (char *)
char * IntegerToString (sint, int &)

Static Public Attributes

bool show_encoded = 0

Protected Attributes

union {
   struct {
      Ptree *   child
      Ptree *   next
   }   nonleaf
   struct {
      char *   position
      int   length
   }   leaf
data

Static Private Methods

char * MatchPat (Ptree *, char *)
char * MatchList (Ptree *, char *)
char * MatchWord (Ptree *, char *)

Friends

class NonLeaf

Member Function Documentation

Ptree * Ptree::Append Ptree *   ,
Ptree *   
[static]
 

Definition at line 497 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), nil, and SetCdr().

Referenced by Template_spec::add_code(), Annotator::add_output_list(), Class::AppendBaseClass(), CopyList(), and ClassWalker::MakeMemberDeclarator().

Ptree * Ptree::Ca_ar  
 

Definition at line 164 of file ptree-core.cc.

References Car(), IsLeaf(), and nil.

Referenced by Parser::ErrorMessage(), and Parser::WarningMessage().

Ptree* Ptree::Cadr   [inline]
 

Definition at line 55 of file ptree-core.h.

References Car().

Referenced by Member::Arguments(), Walker::GetArgDeclList(), PtreeUsing::isNamespace(), Walker::TranslateArgDeclList2(), Walker::TranslateDefault(), Walker::TranslateLabel(), Walker::TranslateNew(), Walker::TranslateNewDeclarator(), Walker::TranslateNewDeclarator2(), and PtreeBrace::Write().

Ptree* Ptree::Car   [inline]
 

Definition at line 53 of file ptree-core.h.

Referenced by Template_thing::add_args_from_ptree(), Expr_annotator::add_parms_from_arglist(), Append(), PtreeHead::Append(), MemberList::AppendBaseClass(), MemberList::AppendThisClass(), Member::Arguments(), Ca_ar(), Cadr(), MemberList::CheckHeader(), ClassWalker::CheckMemberEquiv(), ClassWalker::ConstructClass(), convert_decl_to_expr(), Encoding::CvQualify(), Template_visitor::declare_name(), Simple_declaration_reader::declare_variable(), Expr_annotator::do_fstyle_cast(), do_function(), Equal(), Equiv(), find_leaf(), Walker::FindDeclarator(), First(), flatten_ptree(), TypeInfo::FullTypeName(), Init_reader::get(), Init_reader::get_nondestructive(), Symbol_name::get_operator_name(), Walker::GetArgDeclList(), Member::GetUserArgumentModifiers(), Symbol_name::init_name(), Class::InitializeInstance(), Init_reader::is_compound(), Class::IsImmediateSubclassOf(), Member::IsInlineFuncImpl(), Member::IsPureVirtual(), Class::IsSubclassOf(), LeftMost(), Symbol_name::lookup_symbol_in_scope(), Walker::LookupBaseMetaclass(), Walker::LookupMetaclass(), MemberList::Make(), ClassWalker::MakeMemberDeclarator(), MatchList(), Member::MemberInitializers(), Program::MinimumSubst2(), PtreeIter::Next(), Nth(), Class::NthBaseClass(), Class::NthBaseClassName(), Walker::NthDeclarator(), parse_class(), Declaration_reader::parse_declarator_get_name(), Declaration_reader::parse_declarator_internal(), Declaration_reader::parse_declarator_list(), parse_enum(), parse_specifiers(), parse_template_arg_list(), PtreeIter::Pop(), PtreeBrace::Print(), print_annotated_tree(), process_base_classes(), process_initializers(), Type_reader::read_type(), Walker::RecordBaseclassEnv(), ClassWalker::RecordMemberDeclaration(), ClassWalker::RecordMembers(), Environment::RecordTypedefName(), Ptree_visitor< Returntype >::recurse(), ReplaceAll(), Parser::rIntegralDeclaration(), Parser::rOtherDeclaration(), Second(), ShallowSubst(), Walker::StripCvFromIntegralType(), Subst(), SubstSublist(), Symbol_name::Symbol_name(), Third(), PtreeIter::This(), Walker::TranslateArgDeclList2(), Walker::TranslateArguments(), Walker::TranslateArray(), ClassWalker::TranslateArray(), Walker::TranslateArrowMember(), ClassWalker::TranslateArrowMember(), Walker::TranslateAssignInitializer(), ClassWalker::TranslateAssignInitializer(), Walker::TranslateBlock(), ClassWalker::TranslateBlock(), Walker::TranslateBrace(), Walker::TranslateCase(), Walker::TranslateClassBody(), ClassBodyWalker::TranslateClassBody(), Walker::TranslateClassSpec(), ClassWalker::TranslateClassSpec(), Walker::TranslateDeclarator(), Walker::TranslateDeclarators(), Walker::TranslateDefault(), Walker::TranslateDelete(), ClassWalker::TranslateDelete(), Walker::TranslateDo(), Walker::TranslateDotMember(), ClassWalker::TranslateDotMember(), Walker::TranslateFor(), Walker::TranslateFstyleCast(), Walker::TranslateFuncall(), ClassWalker::TranslateFuncall(), Walker::TranslateIf(), Class::TranslateInitializer(), Walker::TranslateLabel(), Walker::TranslateNew(), Walker::TranslateNew2(), ClassWalker::TranslateNew2(), Walker::TranslateNew3(), Walker::TranslateNewDeclarator(), Walker::TranslateNewDeclarator2(), Walker::TranslateParen(), Walker::TranslatePostfix(), ClassWalker::TranslatePostfix(), Walker::TranslateReturn(), ClassWalker::TranslateStorageSpecifiers2(), Walker::TranslateSwitch(), Walker::TranslateTemplateClass(), Walker::TranslateTemplateInstantiation(), Walker::TranslateTry(), ClassWalker::TranslateUnary(), Walker::TranslateWhile(), Walker::TypeofArray(), Walker::TypeofArrowMember(), Walker::TypeofDotMember(), Walker::TypeofFuncall(), Walker::TypeofNew(), Walker::TypeofPostfix(), Annotator::visit_block(), Annotator::visit_brace(), Translate_visitor::visit_funcall(), Translate_visitor::visit_function(), Translate_visitor::visit_name_declaration(), Template_visitor::visit_name_declaration(), Annotator::visit_name_declaration(), Expr_annotator::visit_new(), Annotator::visit_nonleaf(), Annotator::visit_stmt_or_block(), Annotator::visit_templatedecl(), Template_visitor::visit_type_declaration(), Annotator::visit_type_declaration(), Walker::WhichDeclarator(), PtreeBrace::Write(), NonLeaf::Write(), and NonLeaf::WritePS().

Ptree* Ptree::Cddr   [inline]
 

Definition at line 56 of file ptree-core.h.

References Cdr().

Referenced by Member::Arguments(), Walker::TranslateArgDeclList2(), and Walker::TranslateTry().

Ptree* Ptree::Cdr   [inline]
 

Definition at line 54 of file ptree-core.h.

Referenced by Template_thing::add_args_from_ptree(), Expr_annotator::add_parms_from_arglist(), Append(), MemberList::AppendBaseClass(), MemberList::AppendThisClass(), Member::Arguments(), Cddr(), MemberList::CheckHeader(), ClassWalker::CheckMemberEquiv(), convert_decl_to_expr(), Encoding::CvQualify(), Template_visitor::declare_name(), do_function(), Equal(), Equiv(), find_leaf(), Walker::FindDeclarator(), flatten_ptree(), Init_reader::get(), Walker::GetArgDeclList(), Class::InitializeInstance(), Class::IsImmediateSubclassOf(), Member::IsInlineFuncImpl(), Class::IsSubclassOf(), Last(), LeftMost(), Length(), ListTail(), Walker::LookupBaseMetaclass(), MemberList::Make(), ClassWalker::MakeMemberDeclarator(), MatchList(), Program::MinimumSubst2(), PtreeIter::Next(), Nth(), Class::NthBaseClass(), Class::NthBaseClassName(), Walker::NthDeclarator(), parse_class(), Declaration_reader::parse_declarator_get_name(), Declaration_reader::parse_declarator_internal(), Declaration_reader::parse_declarator_list(), parse_enum(), parse_specifiers(), parse_template_arg_list(), PtreeIter::Pop(), PtreeBrace::Print(), print_annotated_tree(), process_base_classes(), process_initializers(), Type_reader::read_type(), Walker::RecordBaseclassEnv(), ClassWalker::RecordMemberDeclaration(), ClassWalker::RecordMembers(), Ptree_visitor< Returntype >::recurse(), ReplaceAll(), Rest(), Second(), ShallowSubst(), Subst(), SubstSublist(), Symbol_name::Symbol_name(), Third(), Walker::TranslateArgDeclList2(), Walker::TranslateArguments(), Walker::TranslateArray(), ClassWalker::TranslateArray(), Walker::TranslateArrowMember(), ClassWalker::TranslateArrowMember(), Walker::TranslateBlock(), ClassWalker::TranslateBlock(), Walker::TranslateBrace(), Walker::TranslateCase(), Walker::TranslateCast(), Walker::TranslateClassBody(), ClassBodyWalker::TranslateClassBody(), Walker::TranslateClassSpec(), ClassWalker::TranslateClassSpec(), Walker::TranslateDeclaration(), Walker::TranslateDeclarator(), Walker::TranslateDeclarators(), Walker::TranslateDelete(), ClassWalker::TranslateDelete(), Walker::TranslateDo(), Walker::TranslateDotMember(), ClassWalker::TranslateDotMember(), Walker::TranslateExprStatement(), Walker::TranslateFor(), Walker::TranslateFstyleCast(), Walker::TranslateFuncall(), ClassWalker::TranslateFuncall(), Walker::TranslateIf(), Walker::TranslateNew(), Walker::TranslateNew2(), ClassWalker::TranslateNew2(), Walker::TranslateNewDeclarator(), Walker::TranslateNewDeclarator2(), Walker::TranslatePostfix(), ClassWalker::TranslatePostfix(), Walker::TranslateReturn(), Walker::TranslateSizeof(), ClassWalker::TranslateStorageSpecifiers2(), Walker::TranslateSwitch(), Walker::TranslateTemplateClass(), Walker::TranslateTemplateInstantiation(), Walker::TranslateTry(), Walker::TranslateWhile(), Walker::TypeofNew(), Annotator::visit_block(), Annotator::visit_brace(), Expr_annotator::visit_delete(), Annotator::visit_exprstatement(), Translate_visitor::visit_name_declaration(), Template_visitor::visit_name_declaration(), Expr_annotator::visit_new(), Annotator::visit_nonleaf(), Annotator::visit_stmt_or_block(), Walker::WhichDeclarator(), PtreeBrace::Write(), NonLeaf::Write(), and NonLeaf::WritePS().

Ptree * Ptree::Cons Ptree *   ,
Ptree *   
[static]
 

Definition at line 437 of file ptree-core.cc.

References NonLeaf.

Referenced by PtreeArray::All(), Append(), Class::AppendBaseClass(), Member::Arguments(), ClassWalker::ConstructClass(), ClassWalker::ConstructMember(), convert_comma_expr_to_list(), TypeInfo::GetQualifiedName2(), Encoding::MakePtree(), Parser::rCastOperatorName(), Parser::rIntegralDeclaration(), Parser::rIntegralDeclStatement(), Parser::rOtherDeclaration(), Parser::rOtherDeclStatement(), Parser::rPostfixExpr(), Parser::rPrimaryExpr(), Parser::rTempArgDeclaration(), Parser::rTypeSpecifier(), ShallowSubst(), Snoc(), Subst(), SubstSublist(), Walker::TranslateArgDeclList2(), ClassWalker::TranslateClassSpec(), Class::TranslateNew(), ClassWalker::TranslateStorageSpecifiers2(), and Walker::TranslateTry().

Ptree * Ptree::CopyList Ptree *    [static]
 

Definition at line 490 of file ptree-core.cc.

References Append(), and nil.

void Ptree::Display  
 

Definition at line 79 of file ptree-core.cc.

References Display2().

Referenced by convert_decl_to_expr().

void Ptree::Display2 ostream &   
 

Definition at line 84 of file ptree-core.cc.

References nil, and Print().

Referenced by bogus_ptree_error(), Display(), Source::dump(), Init_reader::dump(), and ParseOpencxx().

bool Ptree::Eq Ptree *   ,
Ptree *   
[static]
 

Definition at line 281 of file ptree-core.cc.

References FALSE, GetLength(), GetPosition(), IsLeaf(), nil, and TRUE.

bool Ptree::Eq Ptree *   ,
char *   ,
int   
[static]
 

Definition at line 276 of file ptree-core.cc.

References Eq().

bool Ptree::Eq Ptree *   ,
char *   
[static]
 

Definition at line 271 of file ptree-core.cc.

References Eq().

bool Ptree::Eq Ptree *   ,
char   
[static]
 

Definition at line 266 of file ptree-core.cc.

References Eq().

bool Ptree::Eq Ptree *    p [inline]
 

Definition at line 38 of file ptree-core.h.

bool Ptree::Eq const char *   ,
int   
 

Definition at line 146 of file ptree-core.cc.

References FALSE, GetLength(), GetPosition(), IsLeaf(), nil, and TRUE.

bool Ptree::Eq char *   
 

Definition at line 128 of file ptree-core.cc.

References FALSE, GetLength(), GetPosition(), IsLeaf(), and nil.

bool Ptree::Eq char   
 

Definition at line 120 of file ptree-core.cc.

References FALSE, GetLength(), GetPosition(), IsLeaf(), and nil.

Referenced by Template_thing::add_args_from_ptree(), opcxx_ListOfMetaclass::AlreadyRecorded(), MemberList::Append(), convert_decl_to_expr(), Template_visitor::declare_name(), Simple_declaration_reader::declare_variable(), do_function(), Eq(), Equal(), Equiv(), expect_ptree(), Symbol_name::get_operator_name(), Walker::GetArgDeclList(), Walker::GetClassTemplateSpec(), Symbol_name::init_name(), Symbol_name::is_qualified_name(), Metaclass::IsBuiltinMetaclass(), Member::IsConstructor(), Class::IsImmediateSubclassOf(), Member::IsPureVirtual(), Class::IsSubclassOf(), Environment::LookupClasskeyword(), ClassWalker::LookupClientData(), Environment::LookupMetaclass(), Environment::LookupNamespace0(), ClassWalker::MakeMemberDeclarator(), Member::MemberInitializers(), opcxx_ListOfMetaclass::New(), parse_class(), Declaration_reader::parse_declarator_get_name(), Declaration_reader::parse_declarator_internal(), parse_specifier(), Expr_annotator::process_binary_operator(), Init_handler::process_initializer(), Expr_annotator::process_unary_operator(), Metaclass::ProduceInitFile(), Type_reader::read_type(), ReplaceAll(), Parser::rTemplateDecl(), Symbol_name::Symbol_name(), ClassWalker::TranslateAssign(), Walker::TranslateDeclarators(), ClassWalker::TranslateFuncall(), Class::TranslateInitializer(), QuoteClass::TranslateMemberCall(), Class::TranslateMemberCall(), Class::TranslateMemberRead(), Class::TranslateMemberWrite(), Walker::TranslateNew(), Class::TranslateNew(), ClassWalker::TranslateNew2(), Walker::TranslateNew3(), Walker::TranslateNewDeclarator(), Walker::TranslateNewDeclarator2(), ClassWalker::TranslatePostfix(), Class::TranslatePostfixOnMember(), Walker::TranslateSizeof(), ClassWalker::TranslateUnary(), Class::TranslateUnaryOnMember(), ClassWalker::TranslateUserStatement(), Walker::TypeofNew(), Walker::TypeofUnary(), Expr_annotator::visit_assign(), Expr_annotator::visit_cast(), Expr_annotator::visit_delete(), Expr_annotator::visit_funcall(), Expr_annotator::visit_name(), Template_visitor::visit_name_declaration(), Annotator::visit_name_declaration(), Expr_annotator::visit_new(), Expr_annotator::visit_pm(), Expr_annotator::visit_postfix(), Template_visitor::visit_type_declaration(), Annotator::visit_type_declaration(), Expr_annotator::visit_unary(), and Walker::WhichDeclarator().

bool Ptree::Equal Ptree *   ,
Ptree *   
[static]
 

Definition at line 329 of file ptree-core.cc.

References Car(), Cdr(), Eq(), FALSE, IsLeaf(), nil, and TRUE.

bool Ptree::Equiv Ptree *   ,
Ptree *   
[static]
 

Definition at line 308 of file ptree-core.cc.

References Car(), Cdr(), Eq(), FALSE, IsLeaf(), nil, and TRUE.

Referenced by ClassWalker::CheckEquiv(), ClassWalker::CheckMemberEquiv(), and ClassWalker::TranslateUnary().

Ptree * Ptree::First Ptree *    [static]
 

Definition at line 353 of file ptree-core.cc.

References Car(), and nil.

Ptree* Ptree::First   [inline]
 

Definition at line 76 of file ptree-core.h.

Referenced by ClassWalker::ConstructMember(), convert_comma_expr_to_list(), Template_visitor::declare_class(), Template_visitor::declare_name(), do_function(), TypeInfo::FullTypeName(), Expr_annotator::get_cast_expr(), Expr_annotator::get_cast_type(), Symbol_name::init_name(), Symbol_name::is_qualified_name(), make_comma_expr(), Init_handler::make_constructor_call(), Annotated_funcall_maker::make_funcall(), Walker::MakeTemplateInstantiationMetaobject(), parse_class(), Declaration_reader::parse_declarator_internal(), parse_enum(), process_base_classes(), Init_handler::process_initializer(), process_initializers(), Enum_symbol::process_value(), Parser::rTemplateDecl(), Member::SetName(), Class::StripClassQualifier(), Walker::TranslateArgDeclList2(), Walker::TranslateAssign(), ClassWalker::TranslateAssign(), Walker::TranslateBlock(), ClassWalker::TranslateBlock(), Walker::TranslateBrace(), Walker::TranslateCast(), Walker::TranslateClassBody(), ClassBodyWalker::TranslateClassBody(), Walker::TranslateComma(), Walker::TranslateCond(), Walker::TranslateDeclaration(), Walker::TranslateExprStatement(), ClassWalker::TranslateFuncall(), ClassWalker::TranslateFunctionBody(), Walker::TranslateFunctionImplementation(), ClassWalker::TranslateFunctionImplementation(), ClassBodyWalker::TranslateFunctionImplementation(), Walker::TranslateInfix(), ClassWalker::TranslateInfix(), Walker::TranslateLinkageSpec(), QuoteClass::TranslateMemberCall(), Walker::TranslateNamespaceSpec(), Walker::TranslatePm(), ClassWalker::TranslatePostfix(), Walker::TranslateSizeof(), ClassWalker::TranslateStaticUserStatement(), ClassWalker::TranslateTemplateFunction(), Walker::TranslateTemplateInstantiation(), Walker::TranslateThrow(), Walker::TranslateTypedef(), ClassBodyWalker::TranslateTypedef(), Walker::TranslateUnary(), ClassWalker::TranslateUnary(), ClassWalker::TranslateUserStatement(), Walker::TypeofAssign(), Walker::TypeofInfix(), Walker::TypeofUnary(), Expr_annotator::visit_array(), Expr_annotator::visit_arrowmember(), Translate_visitor::visit_assign(), Expr_annotator::visit_assign(), Annotator::visit_block(), Annotator::visit_brace(), Annotator::visit_break(), Annotator::visit_case(), Expr_annotator::visit_cast(), Expr_annotator::visit_comma(), Expr_annotator::visit_cond(), Annotator::visit_continue(), Ptree_program_visitor< Returntype >::visit_declaration(), Annotator::visit_default(), Expr_annotator::visit_delete(), Annotator::visit_do(), Expr_annotator::visit_dotmember(), Translate_visitor::visit_exprstatement(), Annotator::visit_exprstatement(), Annotator::visit_for(), Expr_annotator::visit_fstylecastexpr(), Expr_annotator::visit_funcall(), Translate_visitor::visit_function(), Annotator::visit_goto(), Annotator::visit_if(), Translate_visitor::visit_infix(), Expr_annotator::visit_infix(), Annotator::visit_label(), Annotator::visit_linkagespec(), Translate_visitor::visit_name_declaration(), Annotator::visit_namespacespec(), Expr_annotator::visit_new(), Expr_annotator::visit_paren(), Expr_annotator::visit_pm(), Translate_visitor::visit_postfix(), Expr_annotator::visit_postfix(), Annotator::visit_return(), Expr_annotator::visit_sizeof(), Annotator::visit_switch(), Expr_annotator::visit_throw(), Expr_annotator::visit_unary(), and Annotator::visit_while().

Ptree * Ptree::GenSym   [static]
 

Definition at line 218 of file pattern.cc.

References IntegerToString(), and uint.

Referenced by Metaclass::TranslateClass().

char * Ptree::GetEncodedName   [virtual]
 

Reimplemented in PtreeUsing, PtreeDeclarator, PtreeName, PtreeClassSpec, and PtreeEnumSpec.

Definition at line 258 of file ptree-core.cc.

References nil.

Referenced by MemberList::Append(), ClassWalker::ConstructClass(), Environment::DontRecordDeclarator(), Member::IsConstructor(), Member::IsDestructor(), Environment::IsMember(), MemberList::Lookup(), Environment::Lookup(), Environment::LookupClassMetaobject(), Environment::LookupTop(), Walker::MatchedDeclarator(), Member::Name(), NonLeaf::PrintWithEncodeds(), Environment::RecordDeclarator(), Environment::RecordEnumName(), Environment::RecordTemplateClass(), Environment::RecordTemplateFunction(), Environment::RecordTypedefName(), Environment::RecordUsing(), Environment::RecordUsingNamespace(), Member::SetName(), Walker::TranslateClassSpec(), ClassWalker::TranslateClassSpec(), and Walker::WhichDeclarator().

char * Ptree::GetEncodedType   [virtual]
 

Reimplemented in PtreeDeclarator, and PtreeFstyleCastExpr.

Definition at line 253 of file ptree-core.cc.

References nil.

Referenced by MemberList::Append(), Member::Find(), Walker::MatchedDeclarator(), NonLeaf::PrintWithEncodeds(), Environment::RecordDeclarator(), Environment::RecordTypedefName(), Member::Signature(), Walker::TranslateFstyleCast(), ClassWalker::TranslateNew2(), Walker::TypeofCast(), Walker::TypeofFstyleCast(), and Walker::TypeofNew().

int Ptree::GetLength   [inline]
 

Definition at line 51 of file ptree-core.h.

Referenced by PtreeHead::Append(), convert_node_to_name(), Encoding::Destructor(), Eq(), get_string_literal(), Metaclass::Load(), MemberList::Lookup(), Environment::Lookup(), Environment::LookupClassMetaobject(), Environment::LookupNamespace0(), Environment::LookupTop(), Make(), MakeStatement(), MatchWord(), Enum_symbol::process_value(), Metaclass::ProduceInitFile(), Environment::RecordEnumName(), Lex::Reify(), RightMost(), and Encoding::SimpleName().

char* Ptree::GetPosition   [inline]
 

Definition at line 50 of file ptree-core.h.

Referenced by PtreeHead::Append(), convert_node_to_name(), Encoding::Destructor(), Eq(), Parser::ErrorMessage(), find_leaf(), get_string_literal(), Environment::GetLineNumber(), LeftMost(), Metaclass::Load(), MemberList::Lookup(), Environment::Lookup(), Environment::LookupClassMetaobject(), Environment::LookupNamespace0(), Environment::LookupTop(), Make(), MakeStatement(), MatchWord(), Enum_symbol::process_value(), Metaclass::ProduceInitFile(), Environment::RecordEnumName(), Lex::Reify(), RightMost(), Encoding::SimpleName(), and Parser::WarningMessage().

char * Ptree::IntegerToString sint   ,
int &   
[static]
 

Definition at line 406 of file pattern.cc.

References FALSE, length, sint, and TRUE.

Referenced by GenSym(), Make(), MakeStatement(), and PtreeHead::operator+().

bool Ptree::IsA int   ,
int   ,
int   
 

Definition at line 233 of file ptree-core.cc.

References FALSE, nil, and What().

bool Ptree::IsA int   ,
int   
 

Definition at line 223 of file ptree-core.cc.

References FALSE, nil, and What().

bool Ptree::IsA int   
 

Definition at line 215 of file ptree-core.cc.

References FALSE, nil, and What().

Referenced by MemberList::AppendBaseClass(), MemberList::AppendThisClass(), Member::Arguments(), MemberList::CheckHeader(), Class::Comments(), Member::Comments(), ClassWalker::ConstructMember(), convert_decl_to_expr(), Walker::FindDeclarator(), Member::FunctionBody(), Walker::GetClassOrEnumSpec(), Walker::GetClassTemplateSpec(), Member::GetUserArgumentModifiers(), Member::IsInlineFuncImpl(), Walker::NthDeclarator(), ptree_is_name(), ClassWalker::RecordMemberDeclaration(), Environment::RecordTemplateFunction(), Parser::rExprStatement(), Walker::SetDeclaratorComments(), Walker::StripCvFromIntegralType(), Walker::TranslateArgDeclList2(), ClassWalker::TranslateAssign(), Walker::TranslateDeclaration(), Walker::TranslateDeclarators(), ClassWalker::TranslateFuncall(), Walker::TranslateNewDeclarator(), ClassWalker::TranslatePostfix(), ClassWalker::TranslateStaticUserStatement(), ClassWalker::TranslateStorageSpecifiers2(), Walker::TranslateTemplateDecl(), ClassWalker::TranslateUnary(), ClassWalker::TranslateUserStatement(), and Walker::WhichDeclarator().

virtual bool Ptree::IsLeaf   [pure virtual]
 

Implemented in Leaf, and NonLeaf.

Referenced by Template_thing::add_args_from_ptree(), Template_spec::add_code(), Annotator::add_output_list(), Append(), PtreeHead::Append(), Member::Arguments(), Ca_ar(), Class::ChangeBaseClasses(), ClassWalker::CheckMemberEquiv(), convert_decl_to_expr(), convert_node_to_name(), Encoding::CvQualify(), Template_visitor::declare_class(), Template_visitor::declare_name(), Typedef_declaration_reader::declare_variable(), Eq(), Equal(), Equiv(), find_leaf(), Walker::FindDeclarator(), flatten_ptree(), Expr_annotator::get_cast_expr(), Expr_annotator::get_cast_type(), Symbol_name::get_operator_name(), get_string_literal(), Walker::GetArgDeclList(), Member::GetUserArgumentModifiers(), Symbol_name::init_name(), Class::InitializeInstance(), Class_scope::is_constructor(), Symbol_name::is_qualified_name(), Environment::IsMember(), LeftMost(), Length(), MemberList::Lookup(), Environment::Lookup(), Symbol_name::lookup_symbol_in_scope(), Environment::LookupClassMetaobject(), Environment::LookupTop(), Make(), ClassWalker::MakeMemberDeclarator(), MakeStatement(), MatchPat(), Member::MemberInitializers(), Program::MinimumSubst2(), Walker::NthDeclarator(), parse_class(), Declaration_reader::parse_declarator_get_name(), Declaration_reader::parse_declarator_internal(), parse_enum(), parse_specifiers(), PtreeBrace::Print(), NonLeaf::Print(), print_annotated_tree(), process_base_classes(), Init_handler::process_brace(), Enum_symbol::process_value(), Parser::rBaseSpecifiers(), Type_reader::read_type(), Environment::RecordEnumName(), ClassWalker::RecordMemberDeclaration(), Ptree_visitor< Returntype >::recurse(), Lex::Reify(), ReplaceAll(), RightMost(), Parser::rMemberInit(), Parser::rVarName(), ShallowSubst(), Class::StripClassQualifier(), Walker::StripCvFromIntegralType(), Subst(), Walker::TranslateArgDeclList2(), Walker::TranslateClassSpec(), Walker::TranslateDeclaration(), Walker::TranslateDeclarators(), ClassWalker::TranslateFunctionBody(), Walker::TranslateNew(), Walker::TranslateNewDeclarator(), Ptree_visitor< Returntype >::TranslatePtree(), Walker::TranslateTemplateClass(), Walker::TranslateTemplateInstantiation(), Walker::TypeofNew(), Ptree_program_visitor< Returntype >::visit_declaration(), Expr_annotator::visit_funcall(), Translate_visitor::visit_name(), Expr_annotator::visit_name(), Translate_visitor::visit_name_declaration(), Expr_annotator::visit_sizeof(), Expr_annotator::visit_unary(), Walker::WhichDeclarator(), PtreeBrace::Write(), NonLeaf::Write(), and NonLeaf::WritePS().

Ptree * Ptree::Last Ptree *    [static]
 

Definition at line 341 of file ptree-core.cc.

References Cdr(), and nil.

Ptree* Ptree::Last   [inline]
 

Definition at line 75 of file ptree-core.h.

Referenced by PtreeHead::Append(), Class::IsImmediateSubclassOf(), Member::IsPureVirtual(), Class::IsSubclassOf(), Walker::LookupBaseMetaclass(), ClassWalker::MakeMemberDeclarator(), Member::MemberInitializers(), Nconc(), Class::NthBaseClass(), Class::NthBaseClassName(), Walker::RecordBaseclassEnv(), Member::SetName(), Class::StripClassQualifier(), Walker::TranslateDeclarators(), Walker::TranslateDelete(), and ClassWalker::TranslateDelete().

char * Ptree::LeftMost  
 

Definition at line 173 of file ptree-core.cc.

References Car(), Cdr(), GetPosition(), IsLeaf(), and nil.

Referenced by Program::Insert(), and Program::Subst().

int Ptree::Length Ptree *    [static]
 

Definition at line 411 of file ptree-core.cc.

References Cdr(), IsLeaf(), and nil.

int Ptree::Length   [inline]
 

Definition at line 81 of file ptree-core.h.

Referenced by PtreeHead::Append(), Template_visitor::declare_class(), Expr_annotator::do_fstyle_cast(), do_function(), Expr_annotator::get_cast_expr(), Expr_annotator::get_cast_type(), Symbol_name::init_name(), Symbol_name::is_qualified_name(), Symbol_name::lookup_symbol_in_scope(), Init_handler::make_constructor_call(), parse_class(), Declaration_reader::parse_declarator_get_name(), Declaration_reader::parse_declarator_internal(), RightMost(), Parser::rIntegralDeclaration(), Parser::rOtherDeclaration(), Parser::rTemplateDecl(), Walker::TranslateClassSpec(), Walker::TranslateDeclarators(), ClassWalker::TranslateDelete(), Walker::TranslateReturn(), Walker::TranslateTemplateClass(), ClassWalker::TranslateUnary(), Annotator::visit_if(), Expr_annotator::visit_new(), Translate_visitor::visit_return(), Annotator::visit_return(), and Expr_annotator::visit_sizeof().

Ptree * Ptree::List Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 484 of file ptree-core.cc.

References List(), and Nconc().

Ptree * Ptree::List Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 478 of file ptree-core.cc.

References List(), and Nconc().

Ptree * Ptree::List Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 472 of file ptree-core.cc.

References List(), and Nconc().

Ptree * Ptree::List Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 467 of file ptree-core.cc.

References List(), and Nconc().

Ptree * Ptree::List Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 462 of file ptree-core.cc.

References List(), and NonLeaf.

Ptree * Ptree::List Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 457 of file ptree-core.cc.

References nil, and NonLeaf.

Ptree * Ptree::List Ptree *   ,
Ptree *   
[static]
 

Definition at line 452 of file ptree-core.cc.

References nil, and NonLeaf.

Ptree * Ptree::List Ptree *    [static]
 

Definition at line 442 of file ptree-core.cc.

References nil, and NonLeaf.

Ptree * Ptree::List   [static]
 

Definition at line 447 of file ptree-core.cc.

References nil.

Referenced by Init_maker::add(), Class::AppendBaseClass(), Class::ChangeBaseClasses(), Class::Construct(), ClassWalker::ConstructAccessSpecifier(), ClassWalker::ConstructClass(), ClassWalker::ConstructMember(), convert_decl_to_expr(), do_function(), Annotator::get_output_as_block(), List(), Make(), make_cast_expr_unchecked(), make_comma_expr(), make_cond_expr(), make_declaration(), Annotated_funcall_maker::make_funcall(), make_infix_expr(), Init_maker::make_init(), make_null_statement(), make_prefix_expr(), make_sizeof_expr(), make_this_star(), ClassWalker::MakeMetaobjectForCfunctions(), TypeInfo::MakePtree(), Encoding::MakePtree(), MakeStatement(), Encoding::NameToPtree(), process_initializers(), Expr_annotator::process_member_access(), Expr_annotator::process_pm_expr(), Enum_symbol::process_value(), PtreeBrace::PtreeBrace(), Parser::rAccessDecl(), Parser::rAdditiveExpr(), Parser::rAllocateExpr(), Parser::rAllocateInitializer(), Parser::rAllocateType(), Parser::rAndExpr(), Parser::rArgDeclaration(), Parser::rBaseSpecifiers(), Parser::rCastExpr(), Parser::rCastOperatorName(), Parser::rClassBody(), Parser::rClassMember(), Parser::rClassSpec(), Parser::rCommaExpression(), Parser::rCompoundStatement(), Parser::rConditionalExpr(), Parser::rConstDeclaration(), Parser::rConstructorDecl(), Parser::rDeclarator2(), Parser::rDeclaratorWithInit(), Parser::rDoStatement(), Parser::rEnumBody(), Parser::rEqualityExpr(), Parser::rExclusiveOrExpr(), Parser::rExpression(), Parser::rExprStatement(), Parser::rExternTemplateDecl(), Parser::rForStatement(), Parser::rIfStatement(), Parser::rInclusiveOrExpr(), Parser::rInitializeExpr(), Parser::rIntegralDeclaration(), Parser::rIntegralDeclStatement(), Parser::rLinkageBody(), Parser::rLinkageSpec(), Parser::rLogicalAndExpr(), Parser::rLogicalOrExpr(), Parser::rMemberInit(), Parser::rMemberInitializers(), Parser::rMetaclassDecl(), Parser::rMultiplyExpr(), Parser::rName(), Parser::rNamespaceSpec(), Parser::rNewDeclarator(), Parser::rNullDeclaration(), Parser::rOperatorName(), Parser::rOtherDeclaration(), Parser::rOtherDeclStatement(), Parser::rPmExpr(), Parser::rPostfixExpr(), Parser::rPrimaryExpr(), Parser::rPtrToMember(), Parser::rRelationalExpr(), Parser::rShiftExpr(), Parser::rSizeofExpr(), Parser::rStatement(), Parser::rSwitchStatement(), Parser::rTempArgDeclaration(), Parser::rTempArgList(), Parser::rTemplateArgs(), Parser::rTemplateDecl2(), Parser::rThrowExpr(), Parser::rTryStatement(), Parser::rTypedef(), Parser::rTypeName(), Parser::rUnaryExpr(), Parser::rUserAccessSpec(), Parser::rUserdefKeyword(), Parser::rUserdefStatement(), Parser::rVarNameCore(), Parser::rWhileStatement(), Walker::TranslateAssign(), Class::TranslateAssign(), ClassWalker::TranslateAssign(), Walker::TranslateAssignInitializer(), ClassWalker::TranslateAssignInitializer(), Class::TranslateBinary(), ClassWalker::TranslateClassSpec(), Walker::TranslateComma(), Walker::TranslateCond(), Walker::TranslateDeclaration(), ClassBodyWalker::TranslateDeclarator(), Walker::TranslateDeclarators(), Walker::TranslateDefault(), Class::TranslateDelete(), Walker::TranslateFunctionImplementation(), ClassWalker::TranslateFunctionImplementation(), ClassBodyWalker::TranslateFunctionImplementation(), Walker::TranslateInfix(), ClassWalker::TranslateInfix(), Class::TranslateInitializer(), Walker::TranslateLabel(), Walker::TranslateLinkageSpec(), Class::TranslateMemberCall(), Class::TranslateMemberRead(), Class::TranslateMemberWrite(), Walker::TranslateNamespaceSpec(), Class::TranslateNew(), Walker::TranslateNewDeclarator2(), Walker::TranslateParen(), Walker::TranslatePm(), Class::TranslatePostfix(), Class::TranslatePostfixOnMember(), ClassWalker::TranslateTemplateFunction(), Walker::TranslateThrow(), Walker::TranslateTypedef(), ClassBodyWalker::TranslateTypedef(), Walker::TranslateUnary(), Class::TranslateUnary(), ClassWalker::TranslateUnary(), Class::TranslateUnaryOnMember(), Expr_annotator::visit_array(), Expr_annotator::visit_assign(), Annotator::visit_case(), Annotator::visit_default(), Expr_annotator::visit_delete(), Annotator::visit_do(), Annotator::visit_for(), Template_visitor::visit_function(), Annotator::visit_if(), Annotator::visit_label(), Expr_annotator::visit_name(), Template_visitor::visit_name_declaration(), Expr_annotator::visit_new(), Expr_annotator::visit_postfix(), Annotator::visit_return(), Annotator::visit_switch(), Expr_annotator::visit_throw(), and Annotator::visit_while().

Ptree * Ptree::ListTail Ptree *   ,
int   
[static]
 

Definition at line 429 of file ptree-core.cc.

References Cdr(), and nil.

Ptree* Ptree::ListTail int    n [inline]
 

Definition at line 82 of file ptree-core.h.

Referenced by Member::GetUserArgumentModifiers(), Program::MinimumSubst2(), Environment::RecordTypedefName(), Walker::TranslateDeclarators(), Walker::TranslateNewDeclarator2(), ClassWalker::TranslateStaticUserStatement(), Walker::TranslateTypedef(), ClassBodyWalker::TranslateTypedef(), and ClassWalker::TranslateUserStatement().

Ptree * Ptree::Make const char *    pat,
...   
[static]
 

Definition at line 251 of file pattern.cc.

References GetLength(), GetPosition(), IntegerToString(), IsLeaf(), List(), MopErrorMessage(), Nconc(), nil, and Snoc().

Referenced by Metaclass::AppendHousekeepingCode(), Member::Arguments(), Class::Class(), Walker::FillArgumentName(), Metaclass::GetFinalizer(), Metaclass::InsertInitialize(), Metaclass::ProduceInitFile(), and Metaclass::TranslateClass().

Ptree * Ptree::MakeStatement const char *    pat,
...   
[static]
 

Definition at line 326 of file pattern.cc.

References GetLength(), GetPosition(), IntegerToString(), IsLeaf(), List(), MopErrorMessage(), Nconc(), nil, Snoc(), and Class::WarnObsoleteness().

bool Ptree::Match Ptree *   ,
char *   ,
...   
[static]
 

Definition at line 60 of file pattern.cc.

References CountArgs(), FALSE, MatchPat(), MAX, MopErrorMessage(), MopMoreWarningMessage(), MopWarningMessage(), nil, resultsIndex, SkipSpaces(), and TRUE.

char * Ptree::MatchList Ptree *   ,
char *   
[static, private]
 

Definition at line 134 of file pattern.cc.

References Car(), Cdr(), MatchPat(), MopErrorMessage(), nil, resultsIndex, and SkipSpaces().

Referenced by MatchPat().

char * Ptree::MatchPat Ptree *   ,
char *   
[static, private]
 

Definition at line 105 of file pattern.cc.

References IsLeaf(), MatchList(), MatchWord(), nil, and resultsIndex.

Referenced by Match(), and MatchList().

char * Ptree::MatchWord Ptree *   ,
char *   
[static, private]
 

Definition at line 169 of file pattern.cc.

References GetLength(), GetPosition(), and nil.

Referenced by MatchPat().

Ptree * Ptree::Nconc Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 775 of file ptree-core.cc.

References Nconc().

Ptree * Ptree::Nconc Ptree *   ,
Ptree *   
[static]
 

Definition at line 765 of file ptree-core.cc.

References data, Last(), and nil.

Referenced by TypeInfo::FullTypeName(), ClassWalker::GetAppendedPtree(), ClassWalker::GetInsertedPtree(), List(), Make(), Encoding::MakePtree(), MakeStatement(), Nconc(), Parser::optPtrOperator(), Parser::rAllocateExpr(), Parser::rArgDeclaration(), Parser::rCastOperatorName(), Parser::rConstructorDecl(), Parser::rDeclaration(), Parser::rDeclarator2(), Parser::rDeclaratorWithInit(), Parser::rEnumBody(), Parser::rIfStatement(), Parser::rIntegralDeclaration(), Parser::rIntegralDeclStatement(), Parser::rMetaclassDecl(), Parser::rName(), Parser::rNewDeclarator(), Parser::rOtherDeclaration(), Parser::rOtherDeclStatement(), Parser::rPtrToMember(), Parser::rTempArgDeclaration(), Parser::rTemplateDecl2(), Parser::rTypedef(), Parser::rTypeSpecifier(), Parser::rVarNameCore(), Snoc(), ClassWalker::TranslateFunctionBody(), and Walker::TranslateNewDeclarator2().

Ptree * Ptree::Nth Ptree *   ,
int   
[static]
 

Definition at line 397 of file ptree-core.cc.

References Car(), Cdr(), and nil.

Ptree* Ptree::Nth int    n [inline]
 

Definition at line 80 of file ptree-core.h.

Referenced by ClassWalker::ConstructClass(), ClassWalker::ConstructMember(), Member::FunctionBody(), Walker::LookupMetaclass(), Class::Members(), parse_class(), Declaration_reader::parse_declarator_get_name(), Declaration_reader::parse_declarator_internal(), process_initializers(), ClassWalker::RecordMembers(), RightMost(), Walker::TranslateCase(), Walker::TranslateCast(), Walker::TranslateClassSpec(), ClassWalker::TranslateClassSpec(), Walker::TranslateCond(), Walker::TranslateDeclarators(), Walker::TranslateDo(), Walker::TranslateFor(), Walker::TranslateFunctionImplementation(), ClassWalker::TranslateFunctionImplementation(), ClassBodyWalker::TranslateFunctionImplementation(), Walker::TranslateIf(), Walker::TranslateNew(), Walker::TranslateSwitch(), Walker::TranslateTemplateDecl(), ClassWalker::TranslateTemplateFunction(), Walker::TranslateTry(), Walker::TranslateWhile(), Expr_annotator::visit_array(), Annotator::visit_case(), Expr_annotator::visit_cast(), Expr_annotator::visit_cond(), Ptree_program_visitor< Returntype >::visit_declaration(), Expr_annotator::visit_delete(), Annotator::visit_do(), Annotator::visit_for(), Expr_annotator::visit_fstylecastexpr(), Expr_annotator::visit_funcall(), Annotator::visit_if(), Expr_annotator::visit_new(), Expr_annotator::visit_sizeof(), Annotator::visit_switch(), Annotator::visit_templatedecl(), and Annotator::visit_while().

virtual void Ptree::Print ostream &   ,
int   ,
int   
[pure virtual]
 

Implemented in Leaf, DupLeaf, NonLeaf, PtreeBrace, PtreeDeclarator, PtreeName, and PtreeFstyleCastExpr.

Referenced by Display2(), PtreeBrace::Print(), and NonLeaf::Print().

void Ptree::PrintIndent ostream &   ,
int   
 

Definition at line 102 of file ptree-core.cc.

Referenced by PtreeBrace::Print(), PtreeBrace::Write(), and Leaf::Write().

Ptree * Ptree::qMake char *    [static]
 

Definition at line 440 of file pattern.cc.

References MopErrorMessage(), and nil.

Ptree * Ptree::qMakeStatement char *    [static]
 

Definition at line 447 of file pattern.cc.

References MopErrorMessage(), and nil.

bool Ptree::Reify char *&   
 

Definition at line 401 of file pattern.cc.

References Lex::Reify().

bool Ptree::Reify unsigned int &   
 

Definition at line 396 of file pattern.cc.

References Lex::Reify().

Referenced by QuoteClass::TranslateMemberCall().

Ptree * Ptree::ReplaceAll Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 528 of file ptree-core.cc.

References PtreeArray::All(), PtreeArray::Append(), Car(), Cdr(), Eq(), FALSE, IsLeaf(), nil, and TRUE.

Ptree * Ptree::Rest Ptree *    [static]
 

Definition at line 361 of file ptree-core.cc.

References Cdr(), and nil.

Ptree* Ptree::Rest   [inline]
 

Definition at line 77 of file ptree-core.h.

char * Ptree::RightMost  
 

Definition at line 192 of file ptree-core.cc.

References GetLength(), GetPosition(), IsLeaf(), Length(), nil, and Nth().

Referenced by Program::Insert(), and Program::Subst().

Ptree * Ptree::Second Ptree *    [static]
 

Definition at line 369 of file ptree-core.cc.

References Car(), Cdr(), and nil.

Ptree* Ptree::Second   [inline]
 

Definition at line 78 of file ptree-core.h.

Referenced by Template_thing::add_args_from_ptree(), Member::Arguments(), ClassWalker::ConstructClass(), ClassWalker::ConstructMember(), convert_comma_expr_to_list(), convert_decl_to_expr(), Template_visitor::declare_class(), Simple_declaration_reader::declare_variable(), do_function(), Expr_annotator::get_cast_type(), get_string_literal(), Walker::GetClassTemplateSpec(), Symbol_name::init_name(), Symbol_name::is_qualified_name(), Symbol_name::lookup_symbol_in_scope(), Walker::LookupBaseMetaclass(), Walker::LookupMetaclass(), Walker::MakeTemplateInstantiationMetaobject(), Class::Members(), Program::MinimumSubst2(), Class::Name(), parse_class(), Declaration_reader::parse_declarator_internal(), parse_enum(), parse_template_arg_list(), PtreeBrace::Print(), Init_handler::process_brace(), Init_handler::process_initializer(), process_initializers(), Enum_symbol::process_value(), Type_reader::read_type(), Environment::RecordEnumName(), ClassWalker::RecordMemberDeclaration(), ClassWalker::RecordMembers(), Parser::rTemplateDecl(), Walker::StripCvFromIntegralType(), Walker::TranslateArgDeclList2(), Walker::TranslateArguments(), ClassWalker::TranslateArrowMember(), Walker::TranslateAssign(), ClassWalker::TranslateAssign(), Walker::TranslateAssignInitializer(), ClassWalker::TranslateAssignInitializer(), Walker::TranslateBlock(), ClassWalker::TranslateBlock(), Walker::TranslateBrace(), Walker::TranslateClassBody(), ClassBodyWalker::TranslateClassBody(), ClassWalker::TranslateClassSpec(), Walker::TranslateComma(), Walker::TranslateCond(), Walker::TranslateDeclaration(), Walker::TranslateDo(), ClassWalker::TranslateDotMember(), ClassWalker::TranslateFuncall(), ClassWalker::TranslateFunctionBody(), Walker::TranslateFunctionImplementation(), ClassWalker::TranslateFunctionImplementation(), ClassBodyWalker::TranslateFunctionImplementation(), Walker::TranslateInfix(), ClassWalker::TranslateInfix(), Class::TranslateInitializer(), Walker::TranslateLinkageSpec(), QuoteClass::TranslateMemberCall(), Walker::TranslateNamespaceSpec(), ClassWalker::TranslateNew2(), Walker::TranslateNew3(), Walker::TranslateParen(), Walker::TranslatePm(), ClassWalker::TranslatePostfix(), Walker::TranslateReturn(), Walker::TranslateSizeof(), ClassWalker::TranslateStaticUserStatement(), Class::TranslateSubscript(), ClassWalker::TranslateTemplateFunction(), Walker::TranslateThrow(), Walker::TranslateTry(), Walker::TranslateTypedef(), ClassBodyWalker::TranslateTypedef(), Walker::TranslateUnary(), ClassWalker::TranslateUnary(), ClassWalker::TranslateUserStatement(), Walker::TypeofCast(), Walker::TypeofNew(), Walker::TypeofParen(), Walker::TypeofUnary(), Expr_annotator::visit_array(), Expr_annotator::visit_arrowmember(), Expr_annotator::visit_assign(), Annotator::visit_block(), Annotator::visit_brace(), Annotator::visit_break(), Annotator::visit_case(), Expr_annotator::visit_cast(), Expr_annotator::visit_comma(), Expr_annotator::visit_cond(), Annotator::visit_continue(), Ptree_program_visitor< Returntype >::visit_declaration(), Annotator::visit_default(), Expr_annotator::visit_delete(), Annotator::visit_do(), Expr_annotator::visit_dotmember(), Translate_visitor::visit_exprstatement(), Annotator::visit_exprstatement(), Annotator::visit_for(), Expr_annotator::visit_fstylecastexpr(), Expr_annotator::visit_funcall(), Translate_visitor::visit_function(), Annotator::visit_if(), Translate_visitor::visit_infix(), Expr_annotator::visit_infix(), Annotator::visit_label(), Annotator::visit_namespacespec(), Expr_annotator::visit_new(), Expr_annotator::visit_paren(), Expr_annotator::visit_pm(), Translate_visitor::visit_postfix(), Expr_annotator::visit_postfix(), Translate_visitor::visit_return(), Annotator::visit_return(), Expr_annotator::visit_sizeof(), Annotator::visit_stmt_or_block(), Annotator::visit_switch(), Annotator::visit_templatedecl(), Expr_annotator::visit_throw(), Annotator::visit_typedef(), Expr_annotator::visit_unary(), Annotator::visit_using(), and Annotator::visit_while().

void Ptree::SetCar Ptree *    p [inline]
 

Definition at line 58 of file ptree-core.h.

Referenced by PtreeHead::Append().

void Ptree::SetCdr Ptree *    p [inline]
 

Definition at line 59 of file ptree-core.h.

References nonleaf.

Referenced by Append().

Ptree * Ptree::ShallowSubst Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 710 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), nil, and ShallowSubst().

Ptree * Ptree::ShallowSubst Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 675 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), nil, and ShallowSubst().

Ptree * Ptree::ShallowSubst Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 646 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), nil, and ShallowSubst().

Ptree * Ptree::ShallowSubst Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 623 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), and nil.

Referenced by Member::SetName(), ShallowSubst(), Walker::TranslateArguments(), ClassWalker::TranslateArray(), Walker::TranslateCase(), Walker::TranslateCast(), Walker::TranslateClassSpec(), Walker::TranslateDeclaration(), Walker::TranslateDelete(), ClassWalker::TranslateDelete(), Walker::TranslateDo(), Walker::TranslateFor(), Walker::TranslateIf(), Walker::TranslateNew2(), ClassWalker::TranslateNew2(), Walker::TranslateNewDeclarator(), Walker::TranslateReturn(), Walker::TranslateSizeof(), Class::TranslateSubscript(), Walker::TranslateSwitch(), Walker::TranslateTry(), Walker::TranslateTypespecifier(), and Walker::TranslateWhile().

Ptree * Ptree::Snoc Ptree *   ,
Ptree *   
[static]
 

Definition at line 758 of file ptree-core.cc.

References Cons(), Nconc(), and nil.

Referenced by Init_maker::add(), Annotated_funcall_maker::add_arg(), Annotator::add_output(), PtreeHead::Append(), Class::AppendMember(), do_function(), TypeInfo::FullTypeName(), Make(), Encoding::MakePtree(), Encoding::MakeQname(), MakeStatement(), Parser::optCvQualify(), Parser::optIntegralTypeOrClassSpec(), Parser::optMemberSpec(), Parser::optPtrOperator(), Parser::optThrowDecl(), process_initializers(), Parser::rAllocateExpr(), Parser::rAllocateInitializer(), Parser::rAllocateType(), Parser::rArgDeclList(), Parser::rBaseSpecifiers(), Parser::rCastOperatorName(), Parser::rClassBody(), Parser::rClassSpec(), Parser::rCompoundStatement(), Parser::rConstructorDecl(), Parser::rDeclaration(), Parser::rDeclarationStatement(), Parser::rDeclarator2(), Parser::rDeclarators(), Lex::ReadComment(), Parser::rEnumBody(), Parser::rEnumSpec(), Parser::rFunctionArguments(), Parser::rInitializeExpr(), Parser::rIntegralDeclaration(), Parser::rIntegralDeclStatement(), Parser::rLinkageBody(), Parser::rLinkageSpec(), Parser::rMemberInitializers(), Parser::rMetaArguments(), Parser::rMetaclassDecl(), Parser::rName(), Parser::rOperatorName(), Parser::rOtherDeclaration(), Parser::rOtherDeclStatement(), Parser::rPtrToMember(), Parser::rTempArgDeclaration(), Parser::rTempArgList(), Parser::rTemplateArgs(), Parser::rTemplateDecl(), Parser::rTemplateDecl2(), Parser::rTryStatement(), Parser::rTypedef(), Parser::rTypeSpecifier(), Parser::rVarNameCore(), Annotator::visit_for(), Annotator::visit_if(), and Expr_annotator::visit_new().

Ptree * Ptree::Subst Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 595 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), nil, and Subst().

Ptree * Ptree::Subst Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 573 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), nil, and Subst().

Ptree * Ptree::Subst Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 555 of file ptree-core.cc.

References Car(), Cdr(), Cons(), IsLeaf(), and nil.

Referenced by ClassWalker::MakeMemberDeclarator(), Subst(), Walker::TranslateArray(), Walker::TranslateDeclarator(), Walker::TranslateDeclarators(), Walker::TranslateNew3(), and Walker::TranslateTemplateClass().

Ptree * Ptree::SubstSublist Ptree *   ,
Ptree *   ,
Ptree *   
[static]
 

Definition at line 750 of file ptree-core.cc.

References Car(), Cdr(), and Cons().

Referenced by Walker::TranslateDeclarators().

Ptree * Ptree::Third Ptree *    [static]
 

Definition at line 380 of file ptree-core.cc.

References Car(), Cdr(), and nil.

Ptree* Ptree::Third   [inline]
 

Definition at line 79 of file ptree-core.h.

Referenced by Member::Arguments(), Class::BaseClasses(), MemberList::CheckHeader(), Class::Construct(), ClassWalker::ConstructMember(), convert_comma_expr_to_list(), convert_decl_to_expr(), fill_in_overload_annotation(), Walker::FindDeclarator(), Member::FunctionBody(), Expr_annotator::get_cast_type(), Walker::GetClassTemplateSpec(), Class::InitializeInstance(), Class::IsImmediateSubclassOf(), Class::IsSubclassOf(), Walker::LookupBaseMetaclass(), Walker::LookupMetaclass(), Environment::LookupMetaclass(), make_comma_expr(), Annotated_funcall_maker::make_funcall(), Class::NthBaseClass(), Class::NthBaseClassName(), Walker::NthDeclarator(), parse_class(), parse_enum(), parse_template_arg_list(), Init_handler::process_initializer(), Enum_symbol::process_value(), ClassWalker::RecordMemberDeclaration(), ClassWalker::RecordMembers(), Environment::RecordMetaclassName(), Environment::RecordTemplateFunction(), Parser::rTemplateDecl(), TemplateClass::TemplateArguments(), Walker::TranslateArgDeclList2(), Walker::TranslateArray(), ClassWalker::TranslateArray(), ClassWalker::TranslateArrowMember(), Walker::TranslateAssign(), ClassWalker::TranslateAssign(), Walker::TranslateBlock(), ClassWalker::TranslateBlock(), Walker::TranslateBrace(), Walker::TranslateClassBody(), ClassBodyWalker::TranslateClassBody(), Walker::TranslateClassSpec(), ClassWalker::TranslateClassSpec(), Walker::TranslateComma(), Walker::TranslateCond(), Walker::TranslateDeclaration(), Walker::TranslateDefault(), ClassWalker::TranslateDotMember(), Walker::TranslateFor(), ClassWalker::TranslateFuncall(), ClassWalker::TranslateFunctionBody(), Walker::TranslateFunctionImplementation(), ClassWalker::TranslateFunctionImplementation(), ClassBodyWalker::TranslateFunctionImplementation(), Walker::TranslateIf(), Walker::TranslateInfix(), ClassWalker::TranslateInfix(), Walker::TranslateLabel(), Walker::TranslateLinkageSpec(), Walker::TranslateNamespaceSpec(), Walker::TranslateNew(), Walker::TranslateNewDeclarator2(), Walker::TranslateParen(), Walker::TranslatePm(), ClassWalker::TranslatePostfix(), Walker::TranslateSizeof(), ClassWalker::TranslateStaticUserStatement(), Walker::TranslateSwitch(), ClassWalker::TranslateTemplateFunction(), Walker::TranslateTypedef(), ClassWalker::TranslateUnary(), ClassWalker::TranslateUserStatement(), Walker::TranslateWhile(), Walker::TypeofArrowMember(), Walker::TypeofComma(), Walker::TypeofCond(), Walker::TypeofDotMember(), Walker::TypeofNew(), Walker::TypeofPm(), Expr_annotator::visit_array(), Expr_annotator::visit_arrowmember(), Translate_visitor::visit_assign(), Expr_annotator::visit_assign(), Annotator::visit_block(), Annotator::visit_brace(), Annotator::visit_case(), Expr_annotator::visit_cast(), Expr_annotator::visit_comma(), Expr_annotator::visit_cond(), Ptree_program_visitor< Returntype >::visit_declaration(), Annotator::visit_default(), Expr_annotator::visit_delete(), Annotator::visit_do(), Expr_annotator::visit_dotmember(), Annotator::visit_for(), Expr_annotator::visit_fstylecastexpr(), Expr_annotator::visit_funcall(), Translate_visitor::visit_function(), Annotator::visit_goto(), Annotator::visit_if(), Translate_visitor::visit_infix(), Expr_annotator::visit_infix(), Annotator::visit_label(), Annotator::visit_linkagespec(), Annotator::visit_namespacespec(), Expr_annotator::visit_new(), Expr_annotator::visit_paren(), Expr_annotator::visit_pm(), Annotator::visit_return(), Expr_annotator::visit_sizeof(), Annotator::visit_switch(), Annotator::visit_templatedecl(), Annotator::visit_typedef(), Annotator::visit_while(), and Walker::WhichDeclarator().

char * Ptree::ToString  
 

Definition at line 109 of file ptree-core.cc.

References nil, Program::Read(), and WritePS().

Referenced by Template_thing::add_args_from_ptree(), Template_visitor::declare_name(), Typedef_declaration_reader::declare_variable(), Symbol_name::init_name(), Mangle::insert(), Class_scope::is_constructor(), Expr_result::is_npc(), Mangle::lookup_global_name(), Symbol_name::lookup_symbol_in_scope(), parse_class(), parse_enum(), parse_specifiers(), print_annotated_tree(), process_initializers(), Enum_symbol::process_value(), Metaclass::ProduceInitFile(), Type_reader::read_type(), Symbol_name::Symbol_name(), Type_reader::Type_reader(), Translate_visitor::visit_assign(), Expr_annotator::visit_assign(), Expr_annotator::visit_cast(), Ptree_program_visitor< Returntype >::visit_declaration(), Translate_visitor::visit_exprstatement(), Expr_annotator::visit_funcall(), Translate_visitor::visit_function(), Translate_visitor::visit_infix(), Translate_visitor::visit_leaf(), Expr_annotator::visit_leaf(), Translate_visitor::visit_name(), Expr_annotator::visit_name(), Translate_visitor::visit_name_declaration(), Annotator::visit_namespacespec(), Translate_visitor::visit_postfix(), Expr_annotator::visit_postfix(), and Expr_annotator::visit_unary().

Ptree * Ptree::Translate Walker   [virtual]
 

Reimplemented in LeafName, LeafThis, PtreeBrace, PtreeBlock, PtreeClassBody, PtreeTypedef, PtreeTemplateDecl, PtreeTemplateInstantiation, PtreeExternTemplate, PtreeMetaclassDecl, PtreeLinkageSpec, PtreeNamespaceSpec, PtreeUsing, PtreeDeclaration, PtreeName, PtreeFstyleCastExpr, PtreeClassSpec, PtreeEnumSpec, PtreeAccessSpec, PtreeAccessDecl, PtreeUserAccessSpec, PtreeIfStatement, PtreeSwitchStatement, PtreeWhileStatement, PtreeDoStatement, PtreeForStatement, PtreeTryStatement, PtreeBreakStatement, PtreeContinueStatement, PtreeReturnStatement, PtreeGotoStatement, PtreeCaseStatement, PtreeDefaultStatement, PtreeLabelStatement, PtreeExprStatement, PtreeCommaExpr, PtreeAssignExpr, PtreeCondExpr, PtreeInfixExpr, PtreePmExpr, PtreeCastExpr, PtreeUnaryExpr, PtreeThrowExpr, PtreeSizeofExpr, PtreeNewExpr, PtreeDeleteExpr, PtreeArrayExpr, PtreeFuncallExpr, PtreePostfixExpr, PtreeUserStatementExpr, PtreeDotMemberExpr, PtreeArrowMemberExpr, PtreeParenExpr, and PtreeStaticUserStatementExpr.

Definition at line 243 of file ptree-core.cc.

References Walker::TranslatePtree().

Referenced by Walker::Translate().

void Ptree::Typeof Walker  ,
TypeInfo  
[virtual]
 

Reimplemented in LeafName, LeafThis, PtreeName, PtreeFstyleCastExpr, PtreeCommaExpr, PtreeAssignExpr, PtreeCondExpr, PtreeInfixExpr, PtreePmExpr, PtreeCastExpr, PtreeUnaryExpr, PtreeThrowExpr, PtreeSizeofExpr, PtreeNewExpr, PtreeDeleteExpr, PtreeArrayExpr, PtreeFuncallExpr, PtreePostfixExpr, PtreeUserStatementExpr, PtreeDotMemberExpr, PtreeArrowMemberExpr, PtreeParenExpr, and PtreeStaticUserStatementExpr.

Definition at line 248 of file ptree-core.cc.

References Walker::TypeofPtree().

Referenced by Walker::Typeof().

int Ptree::What   [virtual]
 

Reimplemented in LeafThis, LeafAUTO, LeafBOOLEAN, LeafCHAR, LeafCONST, LeafDOUBLE, LeafEXTERN, LeafFLOAT, LeafFRIEND, LeafINLINE, LeafINT, LeafLONG, LeafMUTABLE, LeafNAMESPACE, LeafPRIVATE, LeafPROTECTED, LeafPUBLIC, LeafREGISTER, LeafSHORT, LeafSIGNED, LeafSTATIC, LeafUNSIGNED, LeafUSING, LeafVIRTUAL, LeafVOID, LeafVOLATILE, LeafUserKeyword2, PtreeTypedef, PtreeTemplateDecl, PtreeTemplateInstantiation, PtreeExternTemplate, PtreeMetaclassDecl, PtreeLinkageSpec, PtreeNamespaceSpec, PtreeUsing, PtreeDeclaration, PtreeDeclarator, PtreeName, PtreeFstyleCastExpr, PtreeClassSpec, PtreeEnumSpec, PtreeAccessSpec, PtreeAccessDecl, PtreeUserAccessSpec, PtreeUserdefKeyword, PtreeIfStatement, PtreeSwitchStatement, PtreeWhileStatement, PtreeDoStatement, PtreeForStatement, PtreeTryStatement, PtreeBreakStatement, PtreeContinueStatement, PtreeReturnStatement, PtreeGotoStatement, PtreeCaseStatement, PtreeDefaultStatement, PtreeLabelStatement, PtreeExprStatement, PtreeCommaExpr, PtreeAssignExpr, PtreeCondExpr, PtreeInfixExpr, PtreePmExpr, PtreeCastExpr, PtreeUnaryExpr, PtreeThrowExpr, PtreeSizeofExpr, PtreeNewExpr, PtreeDeleteExpr, PtreeArrayExpr, PtreeFuncallExpr, PtreePostfixExpr, PtreeUserStatementExpr, PtreeDotMemberExpr, PtreeArrowMemberExpr, PtreeParenExpr, and PtreeStaticUserStatementExpr.

Definition at line 210 of file ptree-core.cc.

References BadToken.

Referenced by MemberList::AppendBaseClass(), MemberList::AppendThisClass(), Encoding::CvQualify(), Environment::DontRecordDeclarator(), IsA(), Program::MinimumSubst2(), parse_qualifier(), parse_specifier(), process_base_classes(), Type_reader::read_type(), Environment::RecordDeclarator(), ClassWalker::RecordMembers(), Environment::RecordTypedefName(), Parser::rOtherDeclaration(), and Parser::rTemplateDecl().

virtual int Ptree::Write ostream &   ,
int   
[pure virtual]
 

Implemented in Leaf, NonLeaf, and PtreeBrace.

int Ptree::Write ostream &   
 

Definition at line 94 of file ptree-core.cc.

References nil.

Referenced by Parser::ErrorMessage(), opcxx_ListOfMetaclass::FinalizeAll(), Class::FinalizeAll(), operator<<(), Parser::WarningMessage(), PtreeBrace::Write(), NonLeaf::Write(), and Program::Write().

virtual void Ptree::WritePS ProgramString   [pure virtual]
 

Implemented in Leaf, and NonLeaf.

Referenced by ToString(), and NonLeaf::WritePS().


Friends And Related Function Documentation

friend class NonLeaf [friend]
 

Definition at line 169 of file ptree-core.h.

Referenced by Cons(), and List().


Member Data Documentation

Ptree* Ptree::child [protected]
 

Definition at line 160 of file ptree-core.h.

union { ... } Ptree::data [protected]
 

Referenced by DupLeaf::DupLeaf(), Leaf::Leaf(), Nconc(), NonLeaf::NonLeaf(), NonLeaf::Print(), DupLeaf::Print(), Leaf::Print(), Leaf::Write(), and Leaf::WritePS().

struct { ... } Ptree::leaf [protected]
 

int Ptree::length [protected]
 

Definition at line 165 of file ptree-core.h.

Referenced by IntegerToString().

Ptree* Ptree::next [protected]
 

Definition at line 161 of file ptree-core.h.

struct { ... } Ptree::nonleaf [protected]
 

Referenced by SetCdr().

char* Ptree::position [protected]
 

Definition at line 164 of file ptree-core.h.

bool Ptree::show_encoded = 0 [static]
 

Definition at line 42 of file ptree-core.cc.


The documentation for this class was generated from the following files:
Generated on Mon Feb 10 17:36:07 2003 for VFiasco Semantics Compiler by doxygen1.2.15