Update of /cvsroot/plib/plib/src/psl
In directory usw-pr-cvs1:/tmp/cvs-serv6912/plib/src/psl
Modified Files:
psl.h pslRun.cxx
Log Message:
PSL demo now runs two scripts in parallel.
Index: psl.h
===================================================================
RCS file: /cvsroot/plib/plib/src/psl/psl.h,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- psl.h 5 Sep 2002 06:14:57 -0000 1.1
+++ psl.h 5 Sep 2002 07:09:13 -0000 1.2
@@ -12,6 +12,7 @@
typedef unsigned char PSL_Opcode ;
class PSL_Context ;
class PSL_Parser ;
+class PSL_Program ;
class PSL_Extension
@@ -19,21 +20,35 @@
public:
char *symbol ;
int argc ;
- float (*func) ( int, float * ) ;
+ float (*func) ( int, float *, PSL_Program *p ) ;
} ;
class PSL_Program
{
- PSL_Opcode *code ;
- PSL_Context *context ;
- PSL_Parser *parser ;
+ PSL_Opcode *code ;
+ PSL_Context *context ;
+ PSL_Parser *parser ;
+ PSL_Extension *extensions ;
+
+ void *userData ;
public:
PSL_Program ( PSL_Extension *ext ) ;
+ PSL_Program ( PSL_Program *src ) ;
+
~PSL_Program () ;
+
+ PSL_Context *getContext () { return context ; }
+ PSL_Opcode *getCode () { return code ; }
+ PSL_Parser *getParser () { return parser ; }
+ PSL_Extension *getExtensions () { return extensions ; }
+
+ void *getUserData () { return userData ; }
+ void setUserData ( void *ud ) { userData = ud ; }
+
void dump () ;
int parse ( char *fname ) ;
int parse ( FILE *fd ) ;
Index: pslRun.cxx
===================================================================
RCS file: /cvsroot/plib/plib/src/psl/pslRun.cxx,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -d -r1.1 -r1.2
--- pslRun.cxx 5 Sep 2002 06:14:57 -0000 1.1
+++ pslRun.cxx 5 Sep 2002 07:09:13 -0000 1.2
@@ -40,7 +40,7 @@
for ( int i = argc-1 ; i >= 0 ; i-- )
argv [ i ] = stack [ --sp ] ;
- stack [ sp++ ] = (*(extensions [ ext ] . func)) ( argc, argv ) ;
+ stack [ sp++ ] = (*(extensions [ ext ] . func)) (argc,argv,program) ;
pc++ ;
}
return PSL_PROGRAM_CONTINUE ;
|