|
FAUST compiler
0.9.9.6b8
|
#include "ppsig.hh"#include "names.hh"#include "property.hh"#include "doc_Text.hh"#include "Text.hh"#include <assert.h>
Go to the source code of this file.
Functions | |
| void | setDefNameProperty (Tree t, Tree id) |
| void | setDefNameProperty (Tree t, const string &name) |
| bool | getDefNameProperty (Tree t, Tree &id) |
| Indicates the identifier (if any) the expression was a definition of. | |
| string | defName2NickName (const string &defname) |
| Convert a definition name (can be long) into a short nickname that can be used as an equation name in latex. | |
| void | setSigNickname (Tree t, const string &id) |
| Set the nickname property of a signal. | |
| bool | getSigNickname (Tree t, Tree &id) |
| Get the nickname property of a signal. | |
| void | setSigListNickName (Tree lsig, const string &nickname) |
| set the nickname property of a list of signals. | |
Variables | |
| int | gMaxNameSize |
| Tree | DEFNAMEPROPERTY = tree(symbol("DEFNAMEPROPERTY")) |
| Definition name property : a property to keep track of the definition name of an expression. | |
| Tree | NICKNAMEPROPERTY = tree(symbol("NICKNAMEPROPERTY")) |
| string defName2NickName | ( | const string & | defname | ) |
| bool getDefNameProperty | ( | Tree | t, |
| Tree & | id | ||
| ) |
Indicates the identifier (if any) the expression was a definition of.
| t | the expression |
| id | reference to the identifier |
Definition at line 85 of file names.cpp.
References getProperty().
Referenced by a2sb(), applyList(), boxSimplification(), eval(), evalIdDef(), generateDiagramSchema(), generateInputSlotSchema(), generateInsideSchema(), generateOutputSlotSchema(), legalFileName(), mapGetEqName(), real_a2sb(), and writeSchemaFile().
{
//cerr << "getDefNameProperty of : " << t << endl;
return getProperty(t, DEFNAMEPROPERTY, id);
}


| bool getSigNickname | ( | Tree | t, |
| Tree & | id | ||
| ) |
Get the nickname property of a signal.
Definition at line 122 of file names.cpp.
References getProperty().
Referenced by DocCompiler::compileLateq().
{
bool r = getProperty(t, NICKNAMEPROPERTY, id);
return r;
}


| void setDefNameProperty | ( | Tree | t, |
| Tree | id | ||
| ) |
Definition at line 54 of file names.cpp.
References setProperty().
Referenced by a2sb(), applyList(), boxSimplification(), copyEnvReplaceDefs(), eval(), pushMultiClosureDefs(), real_a2sb(), and realeval().
{
//cerr << "setDefNameProperty : " << *id << " FOR " << t << "#" << boxpp(t) << endl;
setProperty(t, DEFNAMEPROPERTY, id);
}


| void setDefNameProperty | ( | Tree | t, |
| const string & | name | ||
| ) |
Definition at line 60 of file names.cpp.
References gMaxNameSize, setProperty(), and tree().
{
//cerr << "setDefNameProperty : " << name << " FOR " << t << "#" << boxpp(t) << endl;
int n = name.size();
int m = (gMaxNameSize>1023) ? 1023 : gMaxNameSize;
if (n > m) {
// the name is too long we reduce it to 2/3 of maxsize
char buf[1024];
int i = 0;
// copy first third
for (; i < m/3; i++) { buf[i] = name[i]; }
// add ...
buf[i++] = '.';
buf[i++] = '.';
buf[i++] = '.';
// copy last third
for (int c = n-m/3; c<n; c++, i++) { buf[i] = name[c]; }
buf[i] = 0;
setProperty(t, DEFNAMEPROPERTY, tree(buf));
} else {
setProperty(t, DEFNAMEPROPERTY, tree(name.c_str()));
}
}

| void setSigListNickName | ( | Tree | lsig, |
| const string & | nickname | ||
| ) |
set the nickname property of a list of signals.
If the list contains more than one signal, adds an index to the nickname
Definition at line 134 of file names.cpp.
References hd(), isList(), isNil(), setSigNickname(), subst(), T(), and tl().
{
assert(isList(lsig));
if (isNil(tl(lsig))) {
setSigNickname(hd(lsig), nickname);
} else {
int i=0;
while (!isNil(lsig)) {
setSigNickname(hd(lsig), subst("$0_$1", nickname, T(++i)));
lsig = tl(lsig);
}
}
}

| void setSigNickname | ( | Tree | t, |
| const string & | id | ||
| ) |
Set the nickname property of a signal.
Definition at line 108 of file names.cpp.
References isSigFixDelay(), isZero(), setProperty(), and tree().
Referenced by setSigListNickName().
{
Tree s,d;
if (isSigFixDelay(t,s,d) && isZero(d)) {
setProperty(s, NICKNAMEPROPERTY, tree(id));
} else {
setProperty(t, NICKNAMEPROPERTY, tree(id));
}
}


| Tree DEFNAMEPROPERTY = tree(symbol("DEFNAMEPROPERTY")) |
Definition name property : a property to keep track of the definition name of an expression.
Whenever an identifier is evaluated, it is attached as a property of its definitionObviously there is no perfect solution since a same definition quand be given to different names.
| int gMaxNameSize |
1.8.0