FAUST compiler  0.9.9.6b8
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Compiler Class Referenceabstract

#include <compile.hh>

Inheritance diagram for Compiler:
Inheritance graph
[legend]
Collaboration diagram for Compiler:
Collaboration graph
[legend]

Public Member Functions

 Compiler (const string &name, const string &super, int numInputs, int numOutputs, bool vec)
 
 Compiler (Klass *k)
 
virtual ~Compiler ()
 
virtual void compileMultiSignal (Tree lsig)=0
 
virtual void compileSingleSignal (Tree lsig)=0
 
KlassgetClass ()
 
void setDescription (Description *descr)
 
DescriptiongetDescription ()
 

Protected Member Functions

virtual Tree prepare (Tree L0)=0
 
virtual Tree prepare2 (Tree L0)=0
 
void addIncludeFile (const string &str)
 
void addLibrary (const string &str)
 
void addUIWidget (Tree path, Tree widget)
 Add a widget with a certain path to the user interface tree. More...
 
void generateWidgetCode (Tree fulllabel, Tree varname, Tree sig)
 Generate buildUserInterface C++ lines of code corresponding to user interface widget t. More...
 
void generateUserInterfaceTree (Tree t)
 Generate buildUserInterface C++ lines of code corresponding to user interface element t. More...
 
void generateUserInterfaceElements (Tree elements)
 Iterate generateUserInterfaceTree on a list of user interface elements. More...
 
Tree prepareUserInterfaceTree (Tree t)
 Remove fake root folder if not needed (that is if the UI is completely enclosed in one folder. More...
 
void generateMacroInterfaceTree (const string &pathname, Tree t)
 Generate user interface macros corresponding to user interface element t. More...
 
void generateMacroInterfaceElements (const string &pathname, Tree elements)
 Iterate generateMacroInterfaceTree on a list of user interface elements. More...
 
void generateWidgetMacro (const string &pathname, Tree fulllabel, Tree varname, Tree sig)
 Generate user interface macros corresponding to a user interface widget. More...
 

Protected Attributes

KlassfClass
 
bool fNeedToDeleteClass
 
Tree fUIRoot
 
DescriptionfDescription
 

Detailed Description

Definition at line 50 of file compile.hh.

Constructor & Destructor Documentation

Compiler::Compiler ( const string &  name,
const string &  super,
int  numInputs,
int  numOutputs,
bool  vec 
)

Definition at line 94 of file compile.cpp.

95  : fClass(new Klass(name, super, numInputs, numOutputs, vec)),
96  fNeedToDeleteClass(true),
98  fDescription(0)
99 {}
Description * fDescription
Definition: compile.hh:56
Klass * fClass
Definition: compile.hh:53
Tree cons(Tree a, Tree b)
Definition: list.hh:124
bool fNeedToDeleteClass
Definition: compile.hh:54
Tree fUIRoot
Definition: compile.hh:55
Tree uiFolder(Tree label, Tree elements)
Definition: uitree.cpp:135
string subst(const string &model, const vector< string > &args)
Text substitution.
Definition: Text.cpp:47
Definition: klass.hh:55
const char * name(Symbol *sym)
Returns the name of a symbol.
Definition: symbol.hh:98
Tree tree(const Node &n)
Definition: tree.hh:186
string gMasterName
Definition: main.cpp:106
Compiler::Compiler ( Klass k)

Definition at line 101 of file compile.cpp.

102  : fClass(k),
103  fNeedToDeleteClass(false),
104  fUIRoot(uiFolder(cons(tree(0), tree(subst("$0", gMasterName))))),
105  fDescription(0)
106 {}
Description * fDescription
Definition: compile.hh:56
Klass * fClass
Definition: compile.hh:53
Tree cons(Tree a, Tree b)
Definition: list.hh:124
bool fNeedToDeleteClass
Definition: compile.hh:54
Tree fUIRoot
Definition: compile.hh:55
Tree uiFolder(Tree label, Tree elements)
Definition: uitree.cpp:135
string subst(const string &model, const vector< string > &args)
Text substitution.
Definition: Text.cpp:47
Tree tree(const Node &n)
Definition: tree.hh:186
string gMasterName
Definition: main.cpp:106
Compiler::~Compiler ( )
virtual

Definition at line 109 of file compile.cpp.

References fClass, and fNeedToDeleteClass.

110 {
111  if (fNeedToDeleteClass) delete fClass;
112 }
Klass * fClass
Definition: compile.hh:53
bool fNeedToDeleteClass
Definition: compile.hh:54

Member Function Documentation

void Compiler::addIncludeFile ( const string &  str)
inlineprotected

Definition at line 77 of file compile.hh.

References Klass::addIncludeFile(), and fClass.

77 { fClass->addIncludeFile(str); }
void addIncludeFile(const string &str)
Definition: klass.hh:137
Klass * fClass
Definition: compile.hh:53

Here is the call graph for this function:

void Compiler::addLibrary ( const string &  str)
inlineprotected

Definition at line 78 of file compile.hh.

References Klass::addLibrary(), and fClass.

78 { fClass->addLibrary(str); }
void addLibrary(const string &str)
Definition: klass.hh:139
Klass * fClass
Definition: compile.hh:53

Here is the call graph for this function:

void Compiler::addUIWidget ( Tree  path,
Tree  widget 
)
protected

Add a widget with a certain path to the user interface tree.

Definition at line 123 of file compile.cpp.

References fUIRoot, and putSubFolder().

124 {
125  fUIRoot = putSubFolder(fUIRoot, path, widget);
126 }
Tree fUIRoot
Definition: compile.hh:55
Tree putSubFolder(Tree folder, Tree path, Tree item)
Definition: uitree.cpp:186

Here is the call graph for this function:

virtual void Compiler::compileMultiSignal ( Tree  lsig)
pure virtual

Implemented in ScalarCompiler, VectorCompiler, and SchedulerCompiler.

Referenced by main().

Here is the caller graph for this function:

virtual void Compiler::compileSingleSignal ( Tree  lsig)
pure virtual

Implemented in ScalarCompiler.

void Compiler::generateMacroInterfaceElements ( const string &  pathname,
Tree  elements 
)
protected

Iterate generateMacroInterfaceTree on a list of user interface elements.

Definition at line 339 of file compile.cpp.

References generateMacroInterfaceTree(), hd(), isNil(), right(), and tl().

Referenced by generateMacroInterfaceTree().

340 {
341  while (!isNil(elements)) {
342  generateMacroInterfaceTree(pathname, right(hd(elements)));
343  elements = tl(elements);
344  }
345 }
Tree hd(Tree l)
Definition: list.hh:133
Tree right(Tree t)
Definition: list.hh:171
bool isNil(Tree l)
Definition: list.hh:137
void generateMacroInterfaceTree(const string &pathname, Tree t)
Generate user interface macros corresponding to user interface element t.
Definition: compile.cpp:312
Tree tl(Tree l)
Definition: list.hh:134

Here is the call graph for this function:

Here is the caller graph for this function:

void Compiler::generateMacroInterfaceTree ( const string &  pathname,
Tree  t 
)
protected

Generate user interface macros corresponding to user interface element t.

Definition at line 312 of file compile.cpp.

References generateMacroInterfaceElements(), generateWidgetMacro(), isUiFolder(), isUiWidget(), right(), and tree2str().

Referenced by SchedulerCompiler::compileMultiSignal(), VectorCompiler::compileMultiSignal(), and generateMacroInterfaceElements().

313 {
314  Tree label, elements, varname, sig;
315 
316  if (isUiFolder(t, label, elements)) {
317  string pathname2 = pathname;
318  //string str = unquote(tree2str(right(label)));
319  string str = tree2str(right(label));
320  if (str.length()>0) pathname2 += str + "/";
321  generateMacroInterfaceElements(pathname2, elements);
322 
323  } else if (isUiWidget(t, label, varname, sig)) {
324 
325  generateWidgetMacro(pathname, label, varname, sig);
326 
327  } else {
328 
329  fprintf(stderr, "error in user interface macro generation 2\n");
330  exit(1);
331 
332  }
333 }
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
Definition: tree.hh:109
Tree right(Tree t)
Definition: list.hh:171
bool isUiWidget(Tree t, Tree &label, Tree &varname, Tree &sig)
Definition: uitree.cpp:141
void generateMacroInterfaceElements(const string &pathname, Tree elements)
Iterate generateMacroInterfaceTree on a list of user interface elements.
Definition: compile.cpp:339
bool isUiFolder(Tree t)
Definition: uitree.cpp:136
void generateWidgetMacro(const string &pathname, Tree fulllabel, Tree varname, Tree sig)
Generate user interface macros corresponding to a user interface widget.
Definition: compile.cpp:352
const char * tree2str(Tree t)
if t has a node of type symbol, return its name otherwise error
Definition: tree.cpp:278

Here is the call graph for this function:

Here is the caller graph for this function:

void Compiler::generateUserInterfaceElements ( Tree  elements)
protected

Iterate generateUserInterfaceTree on a list of user interface elements.

Definition at line 217 of file compile.cpp.

References generateUserInterfaceTree(), hd(), isNil(), right(), and tl().

Referenced by generateUserInterfaceTree().

218 {
219  while (!isNil(elements)) {
220  generateUserInterfaceTree(right(hd(elements)));
221  elements = tl(elements);
222  }
223 }
void generateUserInterfaceTree(Tree t)
Generate buildUserInterface C++ lines of code corresponding to user interface element t...
Definition: compile.cpp:164
Tree hd(Tree l)
Definition: list.hh:133
Tree right(Tree t)
Definition: list.hh:171
bool isNil(Tree l)
Definition: list.hh:137
Tree tl(Tree l)
Definition: list.hh:134

Here is the call graph for this function:

Here is the caller graph for this function:

void Compiler::generateUserInterfaceTree ( Tree  t)
protected

Generate buildUserInterface C++ lines of code corresponding to user interface element t.

Definition at line 164 of file compile.cpp.

References Klass::addUICode(), extractMetadata(), fClass, generateUserInterfaceElements(), generateWidgetCode(), isUiFolder(), isUiWidget(), left(), right(), subst(), tree2int(), tree2str(), and wdel().

Referenced by SchedulerCompiler::compileMultiSignal(), VectorCompiler::compileMultiSignal(), and generateUserInterfaceElements().

165 {
166  Tree label, elements, varname, sig;
167 
168  if (isUiFolder(t, label, elements)) {
169  const int orient = tree2int(left(label));
170  const char * str = tree2str(right(label));
171  const char * model;
172 
173  // extract metadata from group label str resulting in a simplifiedLabel
174  // and metadata declarations for fictive zone at address 0
175  string simplifiedLabel;
176  map<string, set<string> > metadata;
177  extractMetadata(str, simplifiedLabel, metadata);
178 
179  // add metadata if any
180  for (map<string, set<string> >::iterator i = metadata.begin(); i != metadata.end(); i++) {
181  const string& key = i->first;
182  const set<string>& values = i->second;
183  for (set<string>::const_iterator j = values.begin(); j != values.end(); j++) {
184  fClass->addUICode(subst("interface->declare($0, \"$1\", \"$2\");", "0", wdel(key) ,wdel(*j)));
185  }
186  }
187  //-----------------
188 
189 
190  switch (orient) {
191  case 0 : model = "interface->openVerticalBox(\"$0\");"; break;
192  case 1 : model = "interface->openHorizontalBox(\"$0\");"; break;
193  case 2 : model = "interface->openTabBox(\"$0\");"; break;
194  default :
195  fprintf(stderr, "error in user interface generation 1\n");
196  exit(1);
197  }
198  fClass->addUICode(subst(model, simplifiedLabel));
200  fClass->addUICode("interface->closeBox();");
201 
202  } else if (isUiWidget(t, label, varname, sig)) {
203 
204  generateWidgetCode(label, varname, sig);
205 
206  } else {
207 
208  fprintf(stderr, "error in user interface generation 2\n");
209  exit(1);
210 
211  }
212 }
void generateWidgetCode(Tree fulllabel, Tree varname, Tree sig)
Generate buildUserInterface C++ lines of code corresponding to user interface widget t...
Definition: compile.cpp:229
Klass * fClass
Definition: compile.hh:53
Tree left(Tree t)
Definition: list.hh:170
int tree2int(Tree t)
if t has a node of type int, return it otherwise error
Definition: tree.cpp:230
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
Definition: tree.hh:109
Tree right(Tree t)
Definition: list.hh:171
static string wdel(const string &s)
Removes enclosing whitespaces : ' toto ' -> 'toto'.
Definition: compile.cpp:148
string subst(const string &model, const vector< string > &args)
Text substitution.
Definition: Text.cpp:47
void extractMetadata(const string &fulllabel, string &label, map< string, set< string > > &metadata)
Extracts metdata from a label : 'vol [unit: dB]' -> 'vol' + metadata.
Definition: description.cpp:14
bool isUiWidget(Tree t, Tree &label, Tree &varname, Tree &sig)
Definition: uitree.cpp:141
void generateUserInterfaceElements(Tree elements)
Iterate generateUserInterfaceTree on a list of user interface elements.
Definition: compile.cpp:217
void addUICode(const string &str)
Definition: klass.hh:157
bool isUiFolder(Tree t)
Definition: uitree.cpp:136
const char * tree2str(Tree t)
if t has a node of type symbol, return its name otherwise error
Definition: tree.cpp:278

Here is the call graph for this function:

Here is the caller graph for this function:

void Compiler::generateWidgetCode ( Tree  fulllabel,
Tree  varname,
Tree  sig 
)
protected

Generate buildUserInterface C++ lines of code corresponding to user interface widget t.

Definition at line 229 of file compile.cpp.

References Klass::addUICode(), extractMetadata(), fClass, Klass::incUIActiveCount(), Klass::incUIPassiveCount(), isSigButton(), isSigCheckbox(), isSigHBargraph(), isSigHSlider(), isSigNumEntry(), isSigVBargraph(), isSigVSlider(), subst(), T(), tree2float(), tree2str(), and wdel().

Referenced by generateUserInterfaceTree().

230 {
231  Tree path, c, x, y, z;
232  string label;
233  map<string, set<string> > metadata;
234 
235  extractMetadata(tree2str(fulllabel), label, metadata);
236 
237  // add metadata if any
238  for (map<string, set<string> >::iterator i = metadata.begin(); i != metadata.end(); i++) {
239  const string& key = i->first;
240  const set<string>& values = i->second;
241  for (set<string>::const_iterator j = values.begin(); j != values.end(); j++) {
242  fClass->addUICode(subst("interface->declare(&$0, \"$1\", \"$2\");", tree2str(varname), wdel(key) ,wdel(*j)));
243  }
244  }
245 
246  if ( isSigButton(sig, path) ) {
248  fClass->addUICode(subst("interface->addButton(\"$0\", &$1);", label, tree2str(varname)));
249 
250  } else if ( isSigCheckbox(sig, path) ) {
252  fClass->addUICode(subst("interface->addCheckButton(\"$0\", &$1);", label, tree2str(varname)));
253 
254  } else if ( isSigVSlider(sig, path,c,x,y,z) ) {
256  fClass->addUICode(subst("interface->addVerticalSlider(\"$0\", &$1, $2, $3, $4, $5);",
257  label,
258  tree2str(varname),
259  T(tree2float(c)),
260  T(tree2float(x)),
261  T(tree2float(y)),
262  T(tree2float(z))));
263 
264  } else if ( isSigHSlider(sig, path,c,x,y,z) ) {
266  fClass->addUICode(subst("interface->addHorizontalSlider(\"$0\", &$1, $2, $3, $4, $5);",
267  label,
268  tree2str(varname),
269  T(tree2float(c)),
270  T(tree2float(x)),
271  T(tree2float(y)),
272  T(tree2float(z))));
273 
274  } else if ( isSigNumEntry(sig, path,c,x,y,z) ) {
276  fClass->addUICode(subst("interface->addNumEntry(\"$0\", &$1, $2, $3, $4, $5);",
277  label,
278  tree2str(varname),
279  T(tree2float(c)),
280  T(tree2float(x)),
281  T(tree2float(y)),
282  T(tree2float(z))));
283 
284  } else if ( isSigVBargraph(sig, path,x,y,z) ) {
286  fClass->addUICode(subst("interface->addVerticalBargraph(\"$0\", &$1, $2, $3);",
287  label,
288  tree2str(varname),
289  T(tree2float(x)),
290  T(tree2float(y))));
291 
292  } else if ( isSigHBargraph(sig, path,x,y,z) ) {
294  fClass->addUICode(subst("interface->addHorizontalBargraph(\"$0\", &$1, $2, $3);",
295  label,
296  tree2str(varname),
297  T(tree2float(x)),
298  T(tree2float(y))));
299 
300  } else {
301  fprintf(stderr, "Error in generating widget code\n");
302  exit(1);
303  }
304 }
bool isSigHSlider(Tree s)
Definition: signals.cpp:217
bool isSigCheckbox(Tree s)
Definition: signals.cpp:205
bool isSigNumEntry(Tree s)
Definition: signals.cpp:257
Klass * fClass
Definition: compile.hh:53
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
Definition: tree.hh:109
bool isSigVBargraph(Tree s)
Definition: signals.cpp:285
bool isSigVSlider(Tree s)
Definition: signals.cpp:237
static string wdel(const string &s)
Removes enclosing whitespaces : ' toto ' -> 'toto'.
Definition: compile.cpp:148
string subst(const string &model, const vector< string > &args)
Text substitution.
Definition: Text.cpp:47
bool isSigHBargraph(Tree s)
Definition: signals.cpp:279
string T(char *c)
Definition: Text.cpp:158
void extractMetadata(const string &fulllabel, string &label, map< string, set< string > > &metadata)
Extracts metdata from a label : 'vol [unit: dB]' -> 'vol' + metadata.
Definition: description.cpp:14
void incUIPassiveCount()
Definition: klass.hh:162
void addUICode(const string &str)
Definition: klass.hh:157
double tree2float(Tree t)
if t has a node of type float, return it otherwise error
Definition: tree.cpp:246
void incUIActiveCount()
Definition: klass.hh:161
const char * tree2str(Tree t)
if t has a node of type symbol, return its name otherwise error
Definition: tree.cpp:278
bool isSigButton(Tree s)
Definition: signals.cpp:199

Here is the call graph for this function:

Here is the caller graph for this function:

void Compiler::generateWidgetMacro ( const string &  pathname,
Tree  fulllabel,
Tree  varname,
Tree  sig 
)
protected

Generate user interface macros corresponding to a user interface widget.

Definition at line 352 of file compile.cpp.

References Klass::addUIMacro(), extractMetadata(), fClass, isSigButton(), isSigCheckbox(), isSigHBargraph(), isSigHSlider(), isSigNumEntry(), isSigVBargraph(), isSigVSlider(), subst(), T(), tree2float(), and tree2str().

Referenced by generateMacroInterfaceTree().

353 {
354  Tree path, c, x, y, z;
355  string label;
356  map<string, set<string> > metadata;
357 
358  extractMetadata(tree2str(fulllabel), label, metadata);
359 
360  //string pathlabel = pathname+unquote(label);
361  string pathlabel = pathname+label;
362 
363 
364  if ( isSigButton(sig, path) ) {
365  fClass->addUIMacro(subst("FAUST_ADDBUTTON(\"$0\", $1);", pathlabel, tree2str(varname)));
366 
367  } else if ( isSigCheckbox(sig, path) ) {
368  fClass->addUIMacro(subst("FAUST_ADDCHECKBOX(\"$0\", $1);", pathlabel, tree2str(varname)));
369 
370  } else if ( isSigVSlider(sig, path,c,x,y,z) ) {
371  fClass->addUIMacro(subst("FAUST_ADDVERTICALSLIDER(\"$0\", $1, $2, $3, $4, $5);",
372  pathlabel,
373  tree2str(varname),
374  T(tree2float(c)),
375  T(tree2float(x)),
376  T(tree2float(y)),
377  T(tree2float(z))));
378 
379  } else if ( isSigHSlider(sig, path,c,x,y,z) ) {
380  fClass->addUIMacro(subst("FAUST_ADDHORIZONTALSLIDER(\"$0\", $1, $2, $3, $4, $5);",
381  pathlabel,
382  tree2str(varname),
383  T(tree2float(c)),
384  T(tree2float(x)),
385  T(tree2float(y)),
386  T(tree2float(z))));
387 
388  } else if ( isSigNumEntry(sig, path,c,x,y,z) ) {
389  fClass->addUIMacro(subst("FAUST_ADDNUMENTRY(\"$0\", $1, $2, $3, $4, $5);",
390  pathlabel,
391  tree2str(varname),
392  T(tree2float(c)),
393  T(tree2float(x)),
394  T(tree2float(y)),
395  T(tree2float(z))));
396 
397  } else if ( isSigVBargraph(sig, path,x,y,z) ) {
398  fClass->addUIMacro(subst("FAUST_ADDVERTICALBARGRAPH(\"$0\", $1, $2, $3);",
399  pathlabel,
400  tree2str(varname),
401  T(tree2float(x)),
402  T(tree2float(y))));
403 
404  } else if ( isSigHBargraph(sig, path,x,y,z) ) {
405  fClass->addUIMacro(subst("FAUST_ADDHORIZONTALBARGRAPH(\"$0\", $1, $2, $3);",
406  pathlabel,
407  tree2str(varname),
408  T(tree2float(x)),
409  T(tree2float(y))));
410 
411  } else {
412  fprintf(stderr, "Error in generating widget code\n");
413  exit(1);
414  }
415 }
bool isSigHSlider(Tree s)
Definition: signals.cpp:217
bool isSigCheckbox(Tree s)
Definition: signals.cpp:205
bool isSigNumEntry(Tree s)
Definition: signals.cpp:257
Klass * fClass
Definition: compile.hh:53
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
Definition: tree.hh:109
bool isSigVBargraph(Tree s)
Definition: signals.cpp:285
bool isSigVSlider(Tree s)
Definition: signals.cpp:237
void addUIMacro(const string &str)
Definition: klass.hh:159
string subst(const string &model, const vector< string > &args)
Text substitution.
Definition: Text.cpp:47
bool isSigHBargraph(Tree s)
Definition: signals.cpp:279
string T(char *c)
Definition: Text.cpp:158
void extractMetadata(const string &fulllabel, string &label, map< string, set< string > > &metadata)
Extracts metdata from a label : 'vol [unit: dB]' -> 'vol' + metadata.
Definition: description.cpp:14
double tree2float(Tree t)
if t has a node of type float, return it otherwise error
Definition: tree.cpp:246
const char * tree2str(Tree t)
if t has a node of type symbol, return its name otherwise error
Definition: tree.cpp:278
bool isSigButton(Tree s)
Definition: signals.cpp:199

Here is the call graph for this function:

Here is the caller graph for this function:

Klass* Compiler::getClass ( )
inline

Definition at line 67 of file compile.hh.

References fClass.

Referenced by main(), and signal2klass().

67 { return (Klass*)fClass; }
Klass * fClass
Definition: compile.hh:53
Definition: klass.hh:55

Here is the caller graph for this function:

Description* Compiler::getDescription ( )
inline

Definition at line 70 of file compile.hh.

References fDescription.

Referenced by main().

70 { return fDescription; }
Description * fDescription
Definition: compile.hh:56

Here is the caller graph for this function:

virtual Tree Compiler::prepare ( Tree  L0)
protectedpure virtual

Implemented in ScalarCompiler.

virtual Tree Compiler::prepare2 ( Tree  L0)
protectedpure virtual

Implemented in ScalarCompiler.

Tree Compiler::prepareUserInterfaceTree ( Tree  t)
protected

Remove fake root folder if not needed (that is if the UI is completely enclosed in one folder.

Definition at line 133 of file compile.cpp.

References hd(), isList(), isNil(), isUiFolder(), right(), and tl().

Referenced by SchedulerCompiler::compileMultiSignal(), and VectorCompiler::compileMultiSignal().

134 {
135  Tree root, elems;
136  if (isUiFolder(t, root, elems) && isList(elems) && isNil(tl(elems)) ) {
137  Tree folder = right(hd(elems));
138  return (isUiFolder(folder)) ? folder : t;
139  }
140  return t;
141 }
A CTree = (Node x [CTree]) is a Node associated with a list of subtrees called branches.
Definition: tree.hh:109
Tree hd(Tree l)
Definition: list.hh:133
Tree right(Tree t)
Definition: list.hh:171
bool isNil(Tree l)
Definition: list.hh:137
bool isList(Tree l)
Definition: list.hh:138
bool isUiFolder(Tree t)
Definition: uitree.cpp:136
Tree tl(Tree l)
Definition: list.hh:134

Here is the call graph for this function:

Here is the caller graph for this function:

void Compiler::setDescription ( Description descr)
inline

Definition at line 69 of file compile.hh.

References fDescription.

Referenced by main().

69 { fDescription= descr; }
Description * fDescription
Definition: compile.hh:56

Here is the caller graph for this function:

Member Data Documentation

Klass* Compiler::fClass
protected
Description* Compiler::fDescription
protected
bool Compiler::fNeedToDeleteClass
protected

Definition at line 54 of file compile.hh.

Referenced by ~Compiler().

Tree Compiler::fUIRoot
protected

The documentation for this class was generated from the following files: