编译原理 词法分析.doc

编译原理 词法分析.doc

ID:52454847

大小:35.50 KB

页数:6页

时间:2020-03-27

编译原理 词法分析.doc_第1页
编译原理 词法分析.doc_第2页
编译原理 词法分析.doc_第3页
编译原理 词法分析.doc_第4页
编译原理 词法分析.doc_第5页
资源描述:

《编译原理 词法分析.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、#include#include//#include#include#include//creatastackstructstack_node{intx;inty;structstack_node*next;};typedefstack_nodestack_list;typedefstack_list*link;linkstack=0;//pushanelementvoidpush(intxx,intyy){linkne

2、w_node;new_node=(stack_list*)malloc(sizeof(stack_list));new_node->x=xx;new_node->y=yy;new_node->next=stack;stack=new_node;}//popanelementvoidpop(int&xx,int&yy){linktop;top=stack;xx=stack->x;yy=stack->y;stack=stack->next;free(top);}//filltheplotvoidfill(intx,

3、inty){intx0,y0,xl,xr,xlold,xrold;/*x0,y0用来标记x,y的值,xl记录x的最左值,xr记录x的最右值*/intgo=0,go2=0;inti=0;push(x,y);//种子像素入栈while(stack!=0)//如果栈不空则循环,stack==0表示栈空{go=0;//go只是一个标记pop(x,y);putpixel(x,y,RED);x0=x+1;while(getpixel(x0,y)!=RED)//fillright填充右边{putpixel(x0,y,RED)

4、;x0=x0+1;}xr=x0-1;//记录最右值xrold=xr;//再记录一次最右值,以备后用x0=x-1;while(getpixel(x0,y)!=RED)//fillright填充左边{putpixel(x0,y,RED);x0=x0-1;}xl=x0+1;//记录最左值xlold=xl;//再记录一次最左值,以备后用y0=y+1;//goup向上移一条扫描线go2=0;//go2也只是一个用来标记的变量while(xr>xl&&go==0)//查找上一条线的最右值,并记录为xr{if(getpixe

5、l(xr,y0)==RED){xr=xr-1;}else{go=1;//若go=1这句执行的话就说明找到了最右值,并在while中的go==0中判断并退出while}}while(xl

6、xr,y0);//先将上一条线上的最右点作为种子点入栈for(i=xl;i

7、e(xr>xl&&go==0)//找下一条线的最右{if(getpixel(xr,y0)!=4){go=1;}else{xr--;}}while(xl

8、i-1,y0)!=RED){push(i-1,y0);}}}}}voidmain(){//voidfill(intx,inty);intgdriver,gmode;/*显示模式*/inti,j;intn,px,py,px0,py0,px1,py1;intya=0,yi=500;printf("pleasinputthenumberofthetoppoints:");scanf("%d"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。