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}; |
---|