#include<stdio.h> #include<stdlib.h> #include<string.h> #define _KEY_WOED_END "waiting for your expanding" typedef struct { int typenum; char * word; }WORD; char input[255]; char token[255] = ""; int p_input; int p_token; char ch; char * rwtab[] = {"begin", "if", "then", "while", "do", "end", _KEY_WOED_END}; WORD * scaner(); int main() { int over = 1; WORD *oneword; oneword=(WORD *)malloc(sizeof(WORD)); printf("input words:"); scanf("%[^#]s",input); p_input=0; printf("您输入的字符串是:%s ",input); while(over < 1000 && over != -1) { oneword = scaner(); printf("(%d,%s) ",oneword->typenum,oneword->word); over = oneword->typenum; } } char m_getch(){ ch=input[p_input]; p_input=p_input+1; return (ch); } void getbc() { while(ch==' '||ch==10){ ch=input[p_input]; p_input=p_input+1; } } void concat() { token[p_token]=ch; p_token=p_token+1; token[p_token]='