/* $OpenXM: OpenXM_contrib2/asir2000/parse/asir_sm_main.c,v 1.1 1999/12/03 07:39:11 noro Exp $ */ #include "ca.h" #include "parse.h" extern jmp_buf env; extern int Asir_OperandStackPtr; main() { char buf[BUFSIZ*100]; char *data; int size,cur_sig; Asir_Start(); while ( 1 ) { while ( 1 ) { cur_sig = sigsetmask(~0); if ( !fgets(buf,BUFSIZ*100,stdin) ) exit(0); sigsetmask(cur_sig); switch ( buf[0] ) { case 'u': Asir_ExecuteString(buf+1); break; case 'o': printf("%s\n",Asir_PopString()); break; case 's': Asir_Set(buf+1); break; case 'O': data = (char *)Asir_PopBinary(&size); Asir_PushBinary(size,data); break; default: break; } } } } KSstart(){} KSexecuteString(){} KSpopString(){}