您的位置:首页 > 编程语言 > C语言/C++

c语言实现词法分析实验小结

2012-04-14 21:48 375 查看
1、 指针数组定义

Char *Key[]={“main”,”if”};

2、 指针数组传递

Void find(int *key[])(忘了很囧)

{

Int i;

For (i=0;i<4;i++)

{

Printf(“%s”,key[i]);

}

}

3、 函数memcpy(a,b,i)

a->dest

b->source

i->number(copy)

notice:

char *word;

word=(char *)malloc((i+1)*sizeof(char));

memcpy(word,array,i);

word[i]='\0';(若无,输入main word实为main**)

4、 函数strcmp(key[i],buf)

Key->指针数组

Buf->指针

(可以这样用O(∩_∩)O哈哈~)

5、 思路:

字母开头(可能为关键字、可能为标示符)

数字开头(可能为整数、可能为标示符)

else if((ch==' ')||(ch=='\t')); /*消除空格符和水平制表符—直接进入下面判断(可以有注释)*/

首字符为其它字符,即运算限界符或非法字符

* 双字符

array[0]=ch;

array[1]=getchar();

word=(char *)malloc((3)*sizeof(char));

memcpy(word,array,2);

word[2]='\0';

result=find(word,limit);-à找不到后判断单字符

* 单字符

word=(char *)malloc(2*sizeof(char));

memcpy(word,array,1);

word[1]='\0';

result=find(word,limit); ->再找不到就错了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: