📄
字号:
<TD align=right width=200 height=20> </TD>
<TD class=color2 align=right width=560 colSpan=2><B><FONT
color=#ffffff><A
href="http://community.csdn.net/Expert/Forum.asp?TypeNum=7&roomid=0"><FONT
color=#ffffff>我的问题</FONT></A> | <A
href="http://community.csdn.net/Expert/Forum.asp?TypeNum=5&roomid=0"><FONT
color=#ffffff>我参与的问题</FONT></A> | <A
href="http://community.csdn.net/Expert/Forum.asp?TypeNum=6&roomid=0"><FONT
color=#ffffff>我得分的问题</FONT></A> | <A
href="http://community.csdn.net/MyFavorite/My_Favorite.asp"><FONT
color=#ffffff>我的收藏夹</FONT></A> | <A
href="http://community.csdn.net/Message_Board/NewMessage.asp?typestate=0"><FONT
color=#ffffff>短信息</FONT></A> </FONT> <FONT
color=#666666></FONT></B></TD></TR>
<TR>
<TD class=color3 colSpan=3 height=1></TD></TR>
<TR>
<TD align=right colSpan=3><A
href="http://community.csdn.net/">CSDN</A> _ FAQ列表 _ <A
href="http://community.csdn.net/expert/faq/list_faq_index.asp?RoomID=5601">C语言</A> _
<A
href="http://community.csdn.net/expert/faq/list_faq_index.asp?RoomID=5601&SmallClassID=151">专业应用</A>
</TD></TR>
<TR>
<TD height=20> </TD></TR></TBODY></TABLE>
<TABLE cellSpacing=1 cellPadding=3 width=620 border=0>
<TBODY>
<TR bgColor=#eeeeee>
<TD vAlign=top align=right width=40><FONT
style="FONT-SIZE: 11pt; FONT-FAMILY: Arial" color=red><B>Q
:</B></FONT></TD>
<TD vAlign=top width=580 colSpan=3>编译原理—词法分析程序(清华版编译原理词法分析流程图)</TD></TR>
<TR bgColor=#eeeeee>
<TD vAlign=top align=right><FONT color=red><B>主要解答者:</B></FONT></TD>
<TD>cline</TD>
<TD align=right><FONT color=red><B>提交人:</B></FONT></TD>
<TD>iceandfire</TD></TR>
<TR bgColor=#eeeeee>
<TD vAlign=top align=right><FONT color=red><B>感谢:</B></FONT></TD>
<TD vAlign=top width=580
colSpan=3>kbsoft、wiler、cline、joy_young、zhaoxiaoyang</TD></TR>
<TR bgColor=#eeeeee>
<TD vAlign=top align=right><FONT color=red><B>审核者:</B></FONT></TD>
<TD>babysloth</TD>
<TD align=right><FONT color=red><B>社区对应贴子:</B></FONT></TD>
<TD><A
href="http://community.csdn.net/Expert/TopicView.asp?id=663943"
target=_blank>查看</A></TD></TR>
<TR bgColor=#eeeeee>
<TD vAlign=top align=left colSpan=4> <FONT
style="FONT-SIZE: 11pt; FONT-FAMILY: Arial" color=red><B> A
:</B></FONT> </TD>
<TR bgColor=#ffffff>
<TD vAlign=top align=left colSpan=4><BR>#include
<stdio.h> <BR>#include <stdlib.h>
<BR>#include <string.h> <BR> <BR>void
getch(); <BR>void getsym();
<BR> <BR>typedef struct tag_keywordarray
/* 存放关键字 */ <BR>{ <BR>
char a[20]; <BR>
<BR>}keywordarray[10];
<BR> <BR>typedef struct tag_token
/* 存放种别码和值的 */
<BR>{ <BR> int sym;
<BR> char symbol[10];
<BR>
<BR>}token[100]; <BR> <BR>keywordarray
keyword={
"begin","end","for","if","integer","procedure","read",
<BR>"repeat","var","write"}; <BR>static token
token_PL; <BR>static int cc=0;
<BR>static int j=0; <BR>static char
line[50]; <BR>char ch; <BR>bool
RLP=true; <BR> <BR>void main(void)
<BR>{ <BR> int i;
<BR> getsym(); <BR>
for(i=0;i<j;i++) <BR>
{ <BR>
printf("<"); <BR>
printf("%d,",token_PL[i].sym);
<BR>
printf("%s> ",token_PL[i].symbol); <BR>
} <BR>
if(RLP==false) <BR> {
<BR>
printf("\nNone of ')'\n");
<BR> } <BR>
system("pause"); <BR>} <BR> <BR>void
getsym() <BR>{ <BR> int
k; <BR> int i;
<BR> char A[10];
<BR> char id[10];
<BR> <BR> while(ch==NULL)
<BR> { <BR>
getch(); <BR>
} <BR> /*
判断ch是否有字 */ <BR> <BR>
while(ch!='\n')
<BR> {
<BR>
if((ch>='A'
&& ch<='Z') ¦ ¦
(ch>='a' && ch<='z'))
<BR>
/* 判断取出的字是否为字母 */
<BR>
{
<BR>
k=0; <BR>
A[k]=ch; <BR>
k=k+1; <BR>
getch();
<BR>
while(1)
<BR>
{ <BR>
if((ch>'A' && ch<'Z')
¦ ¦ (ch>='a' && ch<='z')
¦ ¦(ch>='0' &&
ch<='9')) <BR>
{ <BR>
if(k<10)
<BR>
{ <BR>
A[k]=ch; <BR>
k=k+1; <BR>
getch(); <BR>
}
<BR>
else <BR>
{ <BR>
getch(); <BR>
/*
k>10则继续取词,但对后面的不错处理,截取前10个 */ <BR>
}
<BR>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -