| version 1.18, 2004/09/05 08:08:41 |
version 1.19, 2004/09/11 12:13:41 |
|
|
| /* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.17 2004/09/05 01:15:47 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/stackmachine.c,v 1.18 2004/09/05 08:08:41 takayama Exp $ */ |
| /* stackmachin.c */ |
/* stackmachin.c */ |
| |
|
| #include <stdio.h> |
#include <stdio.h> |
| Line 83 int UserCtrlC = 0; |
|
| Line 83 int UserCtrlC = 0; |
|
| int OXlock = 0; |
int OXlock = 0; |
| int OXlockSaved = 0; |
int OXlockSaved = 0; |
| |
|
| |
char *UD_str; |
| |
int UD_attr; |
| |
|
| struct object * newObject() |
struct object * newObject() |
| { |
{ |
| struct object *r; |
struct object *r; |
| Line 249 struct object findUserDictionary(str,h0,h1,cp) |
|
| Line 252 struct object findUserDictionary(str,h0,h1,cp) |
|
| char *str; /* key */ |
char *str; /* key */ |
| int h0,h1; /* The hashing values of the key. */ |
int h0,h1; /* The hashing values of the key. */ |
| struct context *cp; |
struct context *cp; |
| |
/* Set char *UD_str, int UD_attr (attributes) */ |
| { |
{ |
| int x; |
int x; |
| struct dictionary *dic; |
struct dictionary *dic; |
| |
extern char *UD_str; |
| |
extern int UD_attr; |
| |
UD_str = NULL; UD_attr = -1; |
| dic = cp->userDictionary; |
dic = cp->userDictionary; |
| x = h0; |
x = h0; |
| while (1) { |
while (1) { |
| if ((dic[x]).key == EMPTY) { break; } |
if ((dic[x]).key == EMPTY) { break; } |
| if (strcmp((dic[x]).key,str) == 0) { |
if (strcmp((dic[x]).key,str) == 0) { |
| |
UD_str = (dic[x]).key; UD_attr = (dic[x]).attr; |
| return( (dic[x]).obj ); |
return( (dic[x]).obj ); |
| } |
} |
| x = (x+h1) % USER_DICTIONARY_SIZE; |
x = (x+h1) % USER_DICTIONARY_SIZE; |