version 1.54, 2004/03/04 06:29:47 |
version 1.56, 2004/03/11 07:40:42 |
|
|
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* OF THE SOFTWARE HAS BEEN DEVELOPED BY A THIRD PARTY, THE THIRD PARTY |
* 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/io/ox_asir.c,v 1.53 2004/03/01 02:03:27 noro Exp $ |
* $OpenXM: OpenXM_contrib2/asir2000/io/ox_asir.c,v 1.55 2004/03/09 07:18:26 noro Exp $ |
*/ |
*/ |
#include "ca.h" |
#include "ca.h" |
#include "parse.h" |
#include "parse.h" |
Line 155 void ox_main(int argc,char **argv) { |
|
Line 155 void ox_main(int argc,char **argv) { |
|
if ( SETJMP(ox_env) ) { |
if ( SETJMP(ox_env) ) { |
while ( NEXT(asir_infile) ) |
while ( NEXT(asir_infile) ) |
closecurrentinput(); |
closecurrentinput(); |
|
resetpvs(); |
|
reset_engine(); |
|
reset_io(); |
ox_send_sync(0); |
ox_send_sync(0); |
} |
} |
while ( 1 ) { |
while ( 1 ) { |
Line 663 void asir_evalName(unsigned int serial) |
|
Line 666 void asir_evalName(unsigned int serial) |
|
asir_push_one(val); |
asir_push_one(val); |
} |
} |
|
|
|
char *augment_backslash(char *s) |
|
{ |
|
char *p,*r; |
|
int i; |
|
|
|
for ( i = 0, p = s; *p; p++, i++ ) if ( *p == '\\' ) i++; |
|
r = (char *)MALLOC_ATOMIC((i+1)*sizeof(char)); |
|
for ( i = 0, p = s; *p; p++, i++ ) { |
|
if ( *p == '\\' ) r[i++] = '\\'; |
|
r[i] = *p; |
|
} |
|
return r; |
|
} |
|
|
int asir_executeString() |
int asir_executeString() |
{ |
{ |
SNODE snode; |
SNODE snode; |
Line 679 int asir_executeString() |
|
Line 696 int asir_executeString() |
|
# endif |
# endif |
#endif |
#endif |
cmd = ((STRING)asir_pop_one())->body; |
cmd = ((STRING)asir_pop_one())->body; |
parse_strp = cmd; |
parse_strp = augment_backslash(cmd); |
if ( mainparse(&snode) ) { |
if ( mainparse(&snode) ) { |
return -1; |
return -1; |
} |
} |