| class MANGLE |
|---|
| CS_COMPONENT |
| attr forbidden:FSET{STR}; |
|---|
| **** | Strings which may not be used as identifiers |
| attr forbidden:FSET{STR}; |
|---|
| **** | Strings which may not be used as identifiers |
| Cify(c:CHAR):STR |
|---|
| **** | return an escaped version of c suitable for C. |
| Cify(arg:STR):STR |
|---|
| **** | transform a string into a '\' escaped version suitable for C. |
| create(p:PROG):SAME |
|---|
| dispose_namespace(ns:$OB) |
|---|
| **** | The namespace 'ns' isn't going to be used in the future, so it's okay to get rid of it now. |
| forbid(s:STR) |
|---|
| **** | make sure this identifier never gets used |
| force_mangle(ob:$OB, s:STR, ns:$OB) |
|---|
| **** | see to it that a particular object gets a particular name. if this is not possible, that is an error. 'ns' is the namespace to use. |
| genlocal(ns:$OB):STR |
|---|
| **** | generate a unique identifier used for intermediate results |
| genother(ns:$OB):STR |
|---|
| **** | generate a unique identifier for anything |
| mangle(ob,ns:$OB):STR |
|---|
| **** | Generate unique id that C will be happy with for each unique $OB. Truncates at 24 chars and then puts in number in rightmost part to ensure is unique, if necessary. Also drops any non-alphanumerics. |
| space(ns:$OB):NAMESPACE |
|---|
| **** | The namespace associated with some object. If it doesn't exist yet, make one. |
| attr global_space:NAMESPACE; |
|---|
| attr global_space:NAMESPACE; |
|---|
| attr namespaces:FMAP{$OB,NAMESPACE}; |
|---|
| attr namespaces:FMAP{$OB,NAMESPACE}; |
|---|
| attr used_by_local:FSET{STR}; |
|---|
| attr used_by_local:FSET{STR}; |
|---|