1/* pt::rde::critcl - critcl - layer 1 declarations 2 * (c) PARAM functions 3 */ 4 5#ifndef _P_INT_H 6#define _P_INT_H 1 7 8#include <p.h> /* Public decls */ 9#include <param.h> /* PARAM architectural state */ 10#include <util.h> /* Tracing support */ 11 12typedef struct RDE_STRING { 13 struct RDE_STRING* next; 14 Tcl_Obj* self; 15 int id; 16} RDE_STRING; 17 18typedef struct RDE_STATE_ { 19 RDE_PARAM p; 20 Tcl_Command c; 21 22 struct RDE_STRING* sfirst; 23 24 Tcl_HashTable str; /* Table to intern strings, i.e. convert them into 25 * unique numerical indices for the PARAM instructions. 26 */ 27 28 /* And the counter mapping from ids to strings, this is handed to the 29 * PARAM for use. 30 */ 31 int maxnum; /* NOTE -- */ 32 int numstr; /* This is, essentially, an RDE_STACK (char* elements) */ 33 char** string; /* Convert over to that instead of replicating the code */ 34 35#ifdef RDE_TRACE 36 int icount; /* Instruction counter, when tracing */ 37#endif 38} RDE_STATE_; 39 40int param_intern (RDE_STATE p, char* literal); 41 42#endif /* _P_H */ 43 44/* 45 * Local Variables: 46 * mode: c 47 * c-basic-offset: 4 48 * fill-column: 78 49 * End: 50 */ 51