| version 1.3, 2001/05/04 01:06:25 |
version 1.5, 2004/09/10 22:21:27 |
|
|
| /* $OpenXM: OpenXM/src/kan96xx/Kan/scanner2.c,v 1.2 2000/01/16 07:55:41 takayama Exp $ */ |
/* $OpenXM: OpenXM/src/kan96xx/Kan/scanner2.c,v 1.4 2004/09/10 13:20:23 takayama Exp $ */ |
| /* scanner2.c (SM StackMachine) */ |
/* scanner2.c (SM StackMachine) */ |
| /* export: struct tokens decompostToTokens(char *str,int *sizep); |
/* export: struct tokens decompostToTokens(char *str,int *sizep); |
| scanner2.c is for getting tokens from a string. |
scanner2.c is for getting tokens from a string. |
| Line 97 static int getSM() |
|
| Line 97 static int getSM() |
|
| /* get a letter from StringSM */ |
/* get a letter from StringSM */ |
| { |
{ |
| int c; |
int c; |
| |
|
| |
if ((StrpSM > 0) && (StringSM[StrpSM] == ',') && (StringSM[StrpSM-1] == ',')) { int i; |
| |
fprintf(stderr,"Warning: ,, is found: "); |
| |
for (i=(StrpSM-30>0?StrpSM-30:0); i<=StrpSM; i++) { |
| |
fprintf(stderr,"%c",StringSM[i]); |
| |
} |
| |
fprintf(stderr,"\n"); |
| |
} |
| |
|
| c = StringSM[StrpSM++]; |
c = StringSM[StrpSM++]; |
| if (c == '\0') { |
if (c == '\0') { |
| StrpSM--;return(EOF); |
StrpSM--;return(EOF); |
| Line 151 static struct tokens flushSM() |
|
| Line 160 static struct tokens flushSM() |
|
| static isSpaceSM(c) |
static isSpaceSM(c) |
| int c; |
int c; |
| { |
{ |
| if ((c <= ' ') && (c!= EOF)) return(1); |
if (((c <= ' ') || c == ',') && (c!= EOF)) return(1); |
| else return(0); |
else return(0); |
| } |
} |
| |
|