version 1.50, 2004/07/13 10:57:26 |
version 1.52, 2005/04/05 02:29:44 |
|
|
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* DEVELOPER SHALL HAVE NO LIABILITY IN CONNECTION WITH THE USE, |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* PERFORMANCE OR NON-PERFORMANCE OF THE SOFTWARE. |
* |
* |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.49 2004/07/13 09:10:38 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/builtin/strobj.c,v 1.51 2004/08/05 00:56:54 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 77 void Pquotetotex_tb(); |
|
Line 77 void Pquotetotex_tb(); |
|
void Pquotetotex(); |
void Pquotetotex(); |
void Pquotetotex_env(); |
void Pquotetotex_env(); |
void Pflatten_quote(); |
void Pflatten_quote(); |
void Pquote_to_funargs(),Pfunargs_to_quote(); |
void Pquote_to_funargs(),Pfunargs_to_quote(),Pget_function_name(); |
void fnodetotex_tb(FNODE f,TB tb); |
void fnodetotex_tb(FNODE f,TB tb); |
char *symbol_name(char *name); |
char *symbol_name(char *name); |
char *conv_rule(char *name); |
char *conv_rule(char *name); |
Line 108 struct ftab str_tab[] = { |
|
Line 108 struct ftab str_tab[] = { |
|
{"flatten_quote",Pflatten_quote,2}, |
{"flatten_quote",Pflatten_quote,2}, |
{"quote_to_funargs",Pquote_to_funargs,1}, |
{"quote_to_funargs",Pquote_to_funargs,1}, |
{"funargs_to_quote",Pfunargs_to_quote,1}, |
{"funargs_to_quote",Pfunargs_to_quote,1}, |
|
{"get_function_name",Pget_function_name,1}, |
{0,0,0}, |
{0,0,0}, |
}; |
}; |
|
|
Line 844 char *symbol_name(char *name) |
|
Line 845 char *symbol_name(char *name) |
|
return 0; |
return 0; |
} |
} |
|
|
|
void Pget_function_name(NODE arg,STRING *rp) |
|
{ |
|
QUOTEARG qa; |
|
ARF f; |
|
char *opname; |
|
|
|
qa = (QUOTEARG)BDY(arg); |
|
if ( !qa || OID(qa) != O_QUOTEARG || qa->type != A_arf ) |
|
*rp = 0; |
|
else { |
|
f = (ARF)BDY(qa); |
|
opname = f->name; |
|
MKSTR(*rp,opname); |
|
} |
|
} |
|
|
|
FNODE strip_paren(FNODE); |
|
|
void fnodetotex_tb(FNODE f,TB tb) |
void fnodetotex_tb(FNODE f,TB tb) |
{ |
{ |
NODE n,t,t0; |
NODE n,t,t0; |
Line 916 void fnodetotex_tb(FNODE f,TB tb) |
|
Line 935 void fnodetotex_tb(FNODE f,TB tb) |
|
} else if ( !strcmp(opname,"^") ) { |
} else if ( !strcmp(opname,"^") ) { |
fnodetotex_tb((FNODE)FA1(f),tb); |
fnodetotex_tb((FNODE)FA1(f),tb); |
write_tb("^{",tb); |
write_tb("^{",tb); |
fnodetotex_tb((FNODE)FA2(f),tb); |
fnodetotex_tb(strip_paren((FNODE)FA2(f)),tb); |
write_tb("} ",tb); |
write_tb("} ",tb); |
} else if ( !strcmp(opname,"%") ) { |
} else if ( !strcmp(opname,"%") ) { |
fnodetotex_tb((FNODE)FA1(f),tb); |
fnodetotex_tb((FNODE)FA1(f),tb); |