Modules | Files | Inheritance Tree | Inheritance Graph | Name Index | Config

Package Synopsis:: Parser:: C++


Namespaces Summary:
AST
A namespace for the AST hierarchy
std
FakeGC
The fake Gargage Collector namespace
Types
The Type hierarchy
__gnu_cxx

Modules Summary:
emul
{builder.cc}
{filter.cc}
{link.cc}
Static namespace for link module
{link_map.cc}
{linkstore.cc}
{lookup.cc}
{occ.cc}

Classes Summary:
Builder
AST Builder. [Source]
Decoder
Decoder for OCC encodings. [Source]
Dictionary
Dictionary of named declarations with lookup. [Source]
TypeFormatter
Formats Types in a way suitable for output [Source]
Dumper
Dumper displays the AST to the screen [Source]
FileFilter [Source]
LinkMap
LinkMap is a map from preprocessed file positions to input file positions [Source]
LinkStore
Stores link information about the file. [Source]
Lookup
AST Builder. [Source]
STrace
Dummy STrace guard for release code - should be optimized away [Source]
TranslateError
Exception thrown by errors when translating the Ptree into an AST [Source]
SWalker
A walker that creates an AST. [Source]
Trace [Source]
Synopsis
The Synopsis class maps from C++ objects to Python objects [Source]
Class
A test class [Source]
TypeInfo [Source]
Program [Source]
InheritanceAdder [Source]
TypeStorer
A class which acts as a Types Visitor to store the correct link to a given type [Source]
isType
Predicate class that is true if the object passed to the constructor is a type, as opposed to a modifier or a parametrized, etc [Source]
FunctionHeuristic [Source]
TypeResolver
Resolves the final type of any given Type. [Source]
ProgramFile [Source]
ProgramFromStdin [Source]
ProgramString [Source]
ClassBodyWalker [Source]
ClassWalker [Source]
Encoding [Source]
Environment [Source]
Bind [Source]
BindVarName [Source]
BindTypedefName [Source]
BindClassName [Source]
BindEnumName [Source]
BindTemplateClass [Source]
BindTemplateFunction [Source]
HashTable [Source]
BigHashTable [Source]
Member [Source]
MemberFunction [Source]
MemberList [Source]
ChangedMemberList [Source]
Metaclass [Source]
TemplateClass [Source]
ClassArray [Source]
opcxx_ListOfMetaclass [Source]
Parser [Source]
Ptree [Source]
PtreeIter [Source]
PtreeArray [Source]
PtreeHead [Source]
Leaf [Source]
CommentedLeaf [Source]
LeafName [Source]
DupLeaf [Source]
LeafReserved [Source]
LeafThis [Source]
LeafAUTO [Source]
LeafBOOLEAN [Source]
LeafCHAR [Source]
LeafCONST [Source]
LeafDOUBLE [Source]
LeafEXTERN [Source]
LeafFLOAT [Source]
LeafFRIEND [Source]
LeafINLINE [Source]
LeafINT [Source]
LeafLONG [Source]
LeafMUTABLE [Source]
LeafNAMESPACE [Source]
LeafPRIVATE [Source]
LeafPROTECTED [Source]
LeafPUBLIC [Source]
LeafREGISTER [Source]
LeafSHORT [Source]
LeafSIGNED [Source]
LeafSTATIC [Source]
LeafUNSIGNED [Source]
LeafUSING [Source]
LeafVIRTUAL [Source]
LeafVOID [Source]
LeafVOLATILE [Source]
LeafUserKeyword2 [Source]
NonLeaf [Source]
PtreeBrace [Source]
PtreeBlock [Source]
PtreeClassBody [Source]
PtreeTypedef [Source]
PtreeTemplateDecl [Source]
PtreeTemplateInstantiation [Source]
PtreeExternTemplate [Source]
PtreeMetaclassDecl [Source]
PtreeLinkageSpec [Source]
PtreeNamespaceSpec [Source]
PtreeUsing [Source]
PtreeDeclaration [Source]
PtreeDeclarator [Source]
PtreeName [Source]
PtreeFstyleCastExpr [Source]
PtreeClassSpec [Source]
PtreeEnumSpec [Source]
PtreeAccessSpec [Source]
PtreeAccessDecl [Source]
PtreeUserAccessSpec [Source]
PtreeUserdefKeyword [Source]
PtreeIfStatement [Source]
PtreeSwitchStatement [Source]
PtreeWhileStatement [Source]
PtreeDoStatement [Source]
PtreeForStatement [Source]
PtreeTryStatement [Source]
PtreeBreakStatement [Source]
PtreeContinueStatement [Source]
PtreeReturnStatement [Source]
PtreeGotoStatement [Source]
PtreeCaseStatement [Source]
PtreeDefaultStatement [Source]
PtreeLabelStatement [Source]
PtreeExprStatement [Source]
PtreeCommaExpr [Source]
PtreeAssignExpr [Source]
PtreeCondExpr [Source]
PtreeInfixExpr [Source]
PtreePmExpr [Source]
PtreeCastExpr [Source]
PtreeUnaryExpr [Source]
PtreeThrowExpr [Source]
PtreeSizeofExpr [Source]
PtreeTypeidExpr [Source]
PtreeTypeofExpr [Source]
PtreeNewExpr [Source]
PtreeDeleteExpr [Source]
PtreeArrayExpr [Source]
PtreeFuncallExpr [Source]
PtreePostfixExpr [Source]
PtreeUserStatementExpr [Source]
PtreeDotMemberExpr [Source]
PtreeArrowMemberExpr [Source]
PtreeParenExpr [Source]
PtreeStaticUserStatementExpr [Source]
QuoteClass [Source]
Token [Source]
Lex [Source]
Walker [Source]

Typedefs Summary:
std::vector<ScopeInfo*>ScopeSearch [Source]
std::vector<std::string>ScopedName
A scoped name, containing zero or more elements. [Source]
std::basic_string<unsigned char>code
A string type for the encoded names and types [Source]
code::iteratorcode_iter
A string iterator type for the encoded names and types [Source]
__locale_struct*__locale_t [Source]
std::multimap<std::string, Types::Named*>name_map [Source]
void*HashValue [Source]
Class*(*)(Ptree*, Ptree*)opcxx_MetaclassCreator [Source]
boolBOOL [Source]
intsint [Source]
unsigned intuint [Source]
gcLightObject [Source]
gc_cleanupObject [Source]

Structs Summary:
ScopeInfo
This class encapsulates information about a Scope and its dictionary of names. [Source]
LineMapNode [Source]
HashTableEntry [Source]
__locale_struct [Source]
rw_table [Source]

Enums Summary:
NamespaceTypeNamespaceNamed, NamespaceAnon, NamespaceUnique, NamespaceTemplate
Enumeration of namespace types for use in Builder::start_namespace() [Source]
TypeInfoIdUndefType, BuiltInType, ClassType, EnumType, TemplateType, PointerType, ReferenceType, PointerToMemberType, ArrayType, FunctionType [Source]

Functions Summary:
 std::ostream&operator<<(std::ostream& out, const ScopedName& name)
Prototype for scoped name output operator (defined in builder.cc) [Source]
 std::stringjoin(const ScopedName& strs, const std::string& sep = " ")
Joins the elements of the scoped name using the separator string [Source]
inline codemake_code(const char* c)
A function to make a code string from a normal string [Source]
 std::ostream&operator<<(std::ostream& o, const code& s)
Insertion operator for encoded names and types [Source]
 std::ostream&operator<<(std::ostream& o, TypeInfo& i)
Output operator for debugging [Source]
 intwait(int*) [Source]
extern voidParseCmdOptions(int from, int argc, char** argv, char*& source) [Source]
extern voidAddCppOption(const char* arg) [Source]
extern voidAddCcOption(const char* arg) [Source]
extern voidCloseCcOptions() [Source]
extern voidShowCommandLine(const char* cmd, const char** args) [Source]
 boolParseTargetSpecificOptions(char* arg, char*& source_file) [Source]
 voidRunLinker() [Source]
 char*RunPreprocessor(const char* src) [Source]
 char*OpenCxxOutputFileName(const char* src) [Source]
 voidRunCompiler(const char* src, const char* occsrc) [Source]
 voidRunSoCompiler(const char* src_file) [Source]
 void*LoadSoLib(char* file_name) [Source]
 void*LookupSymbol(void* handle, char* symbol) [Source]
static char*MakeTempFilename(const char* src, const char* suffix) [Source]
extern voidLoadMetaclass(char*) [Source]
 voidCompile(int argc, char** argv) [Source]
 boolIsCxxSource(char* fname) [Source]
static voidReadStdin() [Source]
static voidReadFile(const char* src) [Source]
static char*RunOpencxx(const char* src) [Source]
static intParseOpencxx(Program* parse) [Source]
static char*ParseOptions(int argc, char** argv) [Source]
static voidShowVersion() [Source]
static voidShowHelp(char**) [Source]
static voidAddCc2Option(const char* arg) [Source]
static voidRecordCmdOption(char* option) [Source]
static voidParseCcOptions(char* arg, char*& source_file) [Source]
 intmain(int argc, char** argv) [Source]
static Class*CreateQuoteClass(Ptree* def, Ptree* marg) [Source]
opcxx_ListOfMetaclass*opcxx_init_QuoteClass() [Source]
static Class*CreateMetaclass(Ptree* def, Ptree* marg) [Source]
opcxx_ListOfMetaclass*opcxx_init_Metaclass() [Source]
static Class*CreateClass(Ptree* def, Ptree* marg) [Source]
static Class*CreateTemplateClass(Ptree* def, Ptree* marg) [Source]
opcxx_ListOfMetaclass*opcxx_init_Class() [Source]
opcxx_ListOfMetaclass*opcxx_init_TemplateClass() [Source]
static intCountArgs(char* pat) [Source]
static char*SkipSpaces(char* pat) [Source]
 voidMopErrorMessage(char* where, char* msg) [Source]
 voidMopErrorMessage2(char* msg1, char* msg2) [Source]
 voidMopWarningMessage(char* where, char* msg) [Source]
 voidMopWarningMessage2(char* msg1, char* msg2) [Source]
 voidMopMoreWarningMessage(char* msg1, char* msg2) [Source]
extern __locale_tuselocale(__locale_t __dataset) [Source]
static voidInitializeOtherKeywords() [Source]
 ScopedNameextend(const ScopedName& name, const std::string& str)
Utility method [Source]
 std::stringappend(const std::vector<std::string>& strs, const std::string& sep = " ") [Source]
 boolisStructor(const AST::Function* func) [Source]
 voidreset()
Clear all global vars [Source]
static PyObject*py_link(PyObject* self, PyObject* args)
The main python method, equivalent to the main() function [Source]
 voidinitlink()
The initialisation method for this module [Source]
 voidsynopsis_macro_hook(const char* name, int line, int start, int end, int diff)
This function is a callback from the ucpp code to store macro expansions [Source]
 voidsynopsis_include_hook(const char* source_file, const char* target_file, int is_macro, int is_next)
This function is a callback from the ucpp code to store includes [Source]
 voidsynopsis_define_hook(const char* filename, int line, const char* name, int num_args, const char** args, int vaarg, const char* text)
This function is a callback from the ucpp code to store macro definitions [Source]
 std::ostream&operator<<(std::ostream& out, const LinkStore::encode& enc) [Source]
 std::ostream&operator<<(std::ostream& out, const LinkStore::encode_name& enc) [Source]
 intucpp_main(int argc, char** argv) [Source]
 voidinitocc() [Source]
 AST::Comment*make_Comment(AST::SourceFile* file, int line, Ptree* first, bool suspect = false) [Source]
 Leaf*make_Leaf(char* pos, int len) [Source]
 voidnullObj() [Source]
inline std::ostream&operator<<(std::ostream& s, Ptree* p) [Source]
inline boolis_blank(char c) [Source]
inline boolis_letter(char c) [Source]
inline boolis_digit(char c) [Source]
inline boolis_xletter(char c) [Source]
inline boolis_eletter(char c) [Source]
inline boolis_hexdigit(char c) [Source]
inline boolis_int_suffix(char c) [Source]
inline boolis_float_suffix(char c) [Source]

Macros Summary:
H_SYNOPSIS_CPP_AST [Source]
H_SYNOPSIS_CPP_BUILDER [Source]
H_SYNOPSIS_CPP_COMMON [Source]
H_SYNOPSIS_CPP_DECODER [Source]
H_SYNOPSIS_CPP_DICT [Source]
H_SYNOPSIS_CPP_DUMPER [Source]
H_SYNOPSIS_CPP_FAKEGC [Source]
H_SYNOPSIS_CPP_FILTER [Source]
H_SYNOPSIS_CPP_LINKMAP [Source]
H_SYNOPSIS_CPP_LINKSTORE [Source]
H_SYNOPSIS_CPP_LOOKUP [Source]
H_SYNOPSIS_CPP_SCOPEINFO [Source]
H_SYNOPSIS_CPP_STRACE [Source]
ERROR [Source]
nodeERROR [Source]
LOG [Source]
nodeLOG [Source]
H_SYNOPSIS_CPP_SWALKER [Source]
H_SYNOPSIS_CPP_SYNOPSIS [Source]
H_SYNOPSIS_CPP_TYPE [Source]
H_SYNOPSIS_CPP_TYPEINFO [Source]
OUTPUT_EXT [Source]
CPP_EXT [Source]
SLIB_EXT [Source]
OBJ_EXT [Source]
ResearvedWordImpl [Source]
PtreeStatementImpl [Source]
PtreeExprImpl [Source]
token [Source]
IsType [Source]
OPT_FLAG [Source]
OPT_STRING [Source]
assertObject [Source]
_buffer_h [Source]
_cbodywalk_h [Source]
_classwalk_h [Source]
_encoding_h [Source]
_env_h [Source]
_hash_h [Source]
_member_h [Source]
_metaclass_h [Source]
_mop_h [Source]
_parse_h [Source]
_ptree_core_h [Source]
NIL [Source]
_ptree_h [Source]
ResearvedWordDecl [Source]
PtreeStatementDecl [Source]
PtreeExprDecl [Source]
_quote_class_h [Source]
_token_h [Source]
Identifier [Source]
Constant [Source]
CharConst [Source]
StringL [Source]
AssignOp [Source]
EqualOp [Source]
RelOp [Source]
ShiftOp [Source]
LogOrOp [Source]
LogAndOp [Source]
IncOp [Source]
Scope [Source]
Ellipsis [Source]
PmOp [Source]
ArrowOp [Source]
BadToken [Source]
AUTO [Source]
CHAR [Source]
CLASS [Source]
CONST [Source]
DELETE [Source]
DOUBLE [Source]
ENUM [Source]
EXTERN [Source]
FLOAT [Source]
FRIEND [Source]
INLINE [Source]
INT [Source]
LONG [Source]
NEW [Source]
OPERATOR [Source]
PRIVATE [Source]
PROTECTED [Source]
PUBLIC [Source]
REGISTER [Source]
SHORT [Source]
SIGNED [Source]
STATIC [Source]
STRUCT [Source]
TYPEDEF [Source]
UNION [Source]
UNSIGNED [Source]
VIRTUAL [Source]
VOID [Source]
VOLATILE [Source]
TEMPLATE [Source]
MUTABLE [Source]
BREAK [Source]
CASE [Source]
CONTINUE [Source]
DEFAULT [Source]
DO [Source]
ELSE [Source]
FOR [Source]
GOTO [Source]
IF [Source]
RETURN [Source]
SIZEOF [Source]
SWITCH [Source]
THIS [Source]
WHILE [Source]
ATTRIBUTE [Source]
METACLASS [Source]
UserKeyword [Source]
UserKeyword2 [Source]
UserKeyword3 [Source]
UserKeyword4 [Source]
BOOLEAN [Source]
EXTENSION [Source]
TRY [Source]
CATCH [Source]
THROW [Source]
UserKeyword5 [Source]
NAMESPACE [Source]
USING [Source]
TYPEID [Source]
TYPEOF [Source]
ntDeclarator [Source]
ntName [Source]
ntFstyleCast [Source]
ntClassSpec [Source]
ntEnumSpec [Source]
ntDeclaration [Source]
ntTypedef [Source]
ntTemplateDecl [Source]
ntMetaclassDecl [Source]
ntLinkageSpec [Source]
ntAccessSpec [Source]
ntUserAccessSpec [Source]
ntUserdefKeyword [Source]
ntExternTemplate [Source]
ntAccessDecl [Source]
ntNamespaceSpec [Source]
ntUsing [Source]
ntTemplateInstantiation [Source]
ntIfStatement [Source]
ntSwitchStatement [Source]
ntWhileStatement [Source]
ntDoStatement [Source]
ntForStatement [Source]
ntBreakStatement [Source]
ntContinueStatement [Source]
ntReturnStatement [Source]
ntGotoStatement [Source]
ntCaseStatement [Source]
ntDefaultStatement [Source]
ntLabelStatement [Source]
ntExprStatement [Source]
ntTryStatement [Source]
ntCommaExpr [Source]
ntAssignExpr [Source]
ntCondExpr [Source]
ntInfixExpr [Source]
ntPmExpr [Source]
ntCastExpr [Source]
ntUnaryExpr [Source]
ntSizeofExpr [Source]
ntNewExpr [Source]
ntDeleteExpr [Source]
ntArrayExpr [Source]
ntFuncallExpr [Source]
ntPostfixExpr [Source]
ntUserStatementExpr [Source]
ntDotMemberExpr [Source]
ntArrowMemberExpr [Source]
ntParenExpr [Source]
ntStaticUserStatementExpr [Source]
ntThrowExpr [Source]
ntTypeidExpr [Source]
ntTypeofExpr [Source]
Ignore [Source]
ASM [Source]
DECLSPEC [Source]
INT64 [Source]
_typeinfo_h [Source]
_types_h [Source]
nil [Source]
TRUE [Source]
FALSE [Source]
USE_DLOADER [Source]
USE_SO [Source]
OCXXMOP [Source]
DLSYM_NEED_UNDERSCORE [Source]
SHARED_OPTION [Source]
_walker_h [Source]

Global variables Summary:
std::vector<AST::Macro*>*syn_macro_defines
Declared in link_map.cc just because all the ucpp->synopsis hooks are there for now. [Source]
const intQuantum [Source]
const intBufSize [Source]
const char*compilerName [Source]
const char*linkerName [Source]
const char*opencxxErrorMessage [Source]
boolshowProgram [Source]
booldoCompile [Source]
boolmakeExecutable [Source]
booldoPreprocess [Source]
booldoTranslate [Source]
boolverboseMode [Source]
boolregularCpp [Source]
boolmakeSharedLibrary [Source]
char*sharedLibraryName [Source]
boolpreprocessTwice [Source]
[] const char*cppArgv [Source]
[] const char*ccArgv [Source]
[] charthisVersion [Source]
[] charcopyingNote [Source]
const intNARGS [Source]
[] const char*cc2Argv [Source]
intcppArgc [Source]
intccArgc [Source]
intcc2Argc [Source]
intnumOfObjectFiles [Source]
const intDigitOffset [Source]
opcxx_ListOfMetaclass*QuoteClassCreator [Source]
opcxx_ListOfMetaclass*metaclassCreator [Source]
opcxx_ListOfMetaclass*classCreator [Source]
opcxx_ListOfMetaclass*templateCreator [Source]
const intMaxErrors [Source]
const intMAX [Source]
[] Ptree**resultsArgs [Source]
intresultsIndex [Source]
void(*)(void)func [Source]
[] rw_tabletable [Source]
PyObject*linkError [Source]
[] PyMethodDeflink_methods
The list of methods in this python module [Source]
boolverbose [Source]
boolsyn_main_only [Source]
boolsyn_extract_tails [Source]
boolsyn_use_gcc [Source]
boolsyn_fake_std [Source]
boolsyn_multi_files [Source]
const char*syn_basename [Source]
const char*syn_syntax_prefix [Source]
const char*syn_xref_prefix [Source]
const char*syn_file_syntax [Source]
const char*syn_file_xref [Source]
const char*syn_emulate_compiler [Source]
std::vector<const char*>*syn_extra_filenames [Source]
PyThreadState*pythread_save [Source]

Typedef Details:
std::vector<std::string> ScopedName

A scoped name, containing zero or more elements. This typedef makes it easier to use scoped name types, and also makes it clearer than using the raw vector in your code.


Enum Details:
enum NamespaceType
NamespaceNamed
NamespaceAnon

< Normal, named, namespace. name is its given name

NamespaceUnique

< An anonymous namespace. name is the filename

NamespaceTemplate

< A unique namespace. name is the type (for, while, etc.)

Enumeration of namespace types for use in Builder::start_namespace()