FAUST compiler  0.9.9.6b8
Classes | Typedefs | Functions
symbol.hh File Reference

A library to create and manipulate symbols with a unique name. More...

#include <string>
#include <map>
Include dependency graph for symbol.hh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  Symbol
 Symbols are unique objects with a name stored in a hash table. More...
 

Typedefs

typedef SymbolSym
 

Functions

Symbolsymbol (const char *str)
 Returns (and creates if new) the symbol of name str. More...
 
Symbolsymbol (const string &str)
 Returns (and creates if new) the symbol of name str. More...
 
Symbolunique (const char *str)
 Returns a new unique symbol of name strxxx. More...
 
const char * name (Symbol *sym)
 Returns the name of a symbol. More...
 
void * getUserData (Symbol *sym)
 Returns user data. More...
 
void setUserData (Symbol *sym, void *d)
 Set user data. More...
 
ostream & operator<< (ostream &s, const Symbol &n)
 

Detailed Description

A library to create and manipulate symbols with a unique name.

A library of functions to create and manipulate symbols with a unique name.

API:

Properties:

If p and q are two symbols then : p != q <=> name(p) != name(q)

Definition in file symbol.hh.

Typedef Documentation

typedef Symbol* Sym

Definition at line 106 of file symbol.hh.

Function Documentation

void* getUserData ( Symbol sym)
inline
const char* name ( Symbol sym)
inline
ostream& operator<< ( ostream &  s,
const Symbol n 
)
inline

Definition at line 103 of file symbol.hh.

References Symbol::print().

103 { return n.print(s); }
ostream & print(ostream &fout) const
print a symbol on a stream
Definition: symbol.cpp:174

Here is the call graph for this function:

void setUserData ( Symbol sym,
void *  d 
)
inline

Set user data.

Definition at line 101 of file symbol.hh.

References Symbol::fData.

Referenced by xtended::xtended(), and xtended::~xtended().

Here is the caller graph for this function:

Symbol* symbol ( const char *  str)
inline

Returns (and creates if new) the symbol of name str.

Definition at line 95 of file symbol.hh.

References Symbol::get().

Referenced by boxIdent(), docTxt(), and Node::Node().

Here is the call graph for this function:

Here is the caller graph for this function:

Symbol* symbol ( const string &  str)
inline

Returns (and creates if new) the symbol of name str.

Definition at line 96 of file symbol.hh.

References Symbol::get().

Here is the call graph for this function:

Symbol* unique ( const char *  str)
inline

Returns a new unique symbol of name strxxx.

Definition at line 97 of file symbol.hh.

References Symbol::prefix().

Referenced by calcDeBruijn2Sym(), makePrivatisationKey(), makePrivatisationLabel(), OccMarkup::mark(), pushNewLayer(), shprkey(), sigMapRename(), Occurrences::specificKey(), substkey(), and writeSchemaFile().

Here is the call graph for this function:

Here is the caller graph for this function: