⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄

📁 小型的词法分析代码
💻
📖 第 1 页 / 共 5 页
字号:
          <TD align=right width=200 height=20>&nbsp;</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&amp;roomid=0"><FONT 
            color=#ffffff>我的问题</FONT></A>&nbsp;|&nbsp; <A 
            href="http://community.csdn.net/Expert/Forum.asp?TypeNum=5&amp;roomid=0"><FONT 
            color=#ffffff>我参与的问题</FONT></A>&nbsp;|&nbsp; <A 
            href="http://community.csdn.net/Expert/Forum.asp?TypeNum=6&amp;roomid=0"><FONT 
            color=#ffffff>我得分的问题</FONT></A>&nbsp;|&nbsp; <A 
            href="http://community.csdn.net/MyFavorite/My_Favorite.asp"><FONT 
            color=#ffffff>我的收藏夹</FONT></A>&nbsp;|&nbsp; <A 
            href="http://community.csdn.net/Message_Board/NewMessage.asp?typestate=0"><FONT 
            color=#ffffff>短信息</FONT></A>&nbsp;</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>&nbsp;&nbsp;_&nbsp;&nbsp;FAQ列表&nbsp;&nbsp;_&nbsp;&nbsp;<A 
            href="http://community.csdn.net/expert/faq/list_faq_index.asp?RoomID=5601">C语言</A>&nbsp;&nbsp;_&nbsp;&nbsp; 
            <A 
            href="http://community.csdn.net/expert/faq/list_faq_index.asp?RoomID=5601&amp;SmallClassID=151">专业应用</A>&nbsp;&nbsp; 
          </TD></TR>
        <TR>
          <TD height=20>&nbsp;</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>&nbsp;&nbsp;&nbsp;&nbsp;<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 
            &nbsp;&lt;stdio.h&gt; &nbsp;<BR>#include &nbsp;&lt;stdlib.h&gt; 
            &nbsp;<BR>#include &nbsp;&lt;string.h&gt; &nbsp;<BR>&nbsp;<BR>void 
            &nbsp;getch(); &nbsp;<BR>void &nbsp;getsym(); 
            &nbsp;<BR>&nbsp;<BR>typedef &nbsp;struct &nbsp;tag_keywordarray 
            &nbsp;/* &nbsp;存放关键字 &nbsp;*/ &nbsp;<BR>{ &nbsp;<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp;char &nbsp;a[20]; &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;<BR>}keywordarray[10]; 
            &nbsp;<BR>&nbsp;<BR>typedef &nbsp;struct &nbsp;tag_token &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;/* &nbsp;存放种别码和值的 &nbsp;*/ 
            &nbsp;<BR>{ &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;int &nbsp;sym; 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;char &nbsp;symbol[10]; 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;<BR>}token[100]; &nbsp;<BR>&nbsp;<BR>keywordarray 
            &nbsp;keyword={ &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp;"begin","end","for","if","integer","procedure","read", 
            &nbsp;<BR>"repeat","var","write"}; &nbsp;<BR>static &nbsp;token 
            &nbsp;token_PL; &nbsp;<BR>static &nbsp;int &nbsp;cc=0; 
            &nbsp;<BR>static &nbsp;int &nbsp;j=0; &nbsp;<BR>static &nbsp;char 
            &nbsp;line[50]; &nbsp;<BR>char &nbsp;ch; &nbsp;<BR>bool 
            &nbsp;RLP=true; &nbsp;<BR>&nbsp;<BR>void &nbsp;main(void) 
            &nbsp;<BR>{ &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;int &nbsp;i; 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;getsym(); &nbsp;<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp;for(i=0;i&lt;j;i++) &nbsp;<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp;{ &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp;printf("&lt;"); &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp;printf("%d,",token_PL[i].sym); 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; 
            &nbsp;printf("%s&gt; &nbsp;",token_PL[i].symbol); &nbsp;<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp;} &nbsp;<BR>&nbsp; &nbsp; &nbsp; 
            &nbsp;if(RLP==false) &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;{ 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp;printf("\nNone &nbsp;of &nbsp;')'\n"); 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;} &nbsp;<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp;system("pause"); &nbsp;<BR>} &nbsp;<BR>&nbsp;<BR>void 
            &nbsp;getsym() &nbsp;<BR>{ &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;int 
            &nbsp;k; &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;int &nbsp;i; 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;char &nbsp;A[10]; 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;char &nbsp;id[10]; 
            &nbsp;<BR>&nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;while(ch==NULL) 
            &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;{ &nbsp;<BR>&nbsp; &nbsp; 
            &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;getch(); &nbsp;<BR>&nbsp; 
            &nbsp; &nbsp; &nbsp;} &nbsp;<BR>&nbsp; &nbsp; &nbsp; &nbsp;/* 
            &nbsp;判断ch是否有字 &nbsp;*/ &nbsp;<BR>&nbsp;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;while(ch!='\n') 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;{ 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;if((ch&gt;='A' 
            &nbsp;&amp;&amp; &nbsp;ch&lt;='Z') &nbsp; &nbsp;&brvbar; &nbsp;&brvbar; 
            &nbsp;(ch&gt;='a' &nbsp;&amp;&amp; &nbsp;ch&lt;='z')) 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;/* &nbsp;判断取出的字是否为字母 &nbsp;*/ 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;{ 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;k=0; &nbsp;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp;A[k]=ch; &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp;k=k+1; &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;getch(); 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;while(1) 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;{ &nbsp;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp;if((ch&gt;'A' &nbsp;&amp;&amp; &nbsp;ch&lt;'Z') &nbsp; 
            &nbsp;&brvbar; &nbsp;&brvbar; &nbsp;(ch&gt;='a' &nbsp;&amp;&amp; &nbsp;ch&lt;='z') 
            &nbsp; &nbsp;&brvbar; &nbsp;&brvbar;(ch&gt;='0' &nbsp;&amp;&amp; 
            &nbsp;ch&lt;='9')) &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;{ &nbsp;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;if(k&lt;10) 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp;{ &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp;A[k]=ch; &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp;k=k+1; &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp;getch(); &nbsp;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;} 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp;else &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp;{ &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp;getch(); &nbsp;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;/* 
            &nbsp;k&gt;10则继续取词,但对后面的不错处理,截取前10个 &nbsp;*/ &nbsp;<BR>&nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;} 
            &nbsp;<BR>&nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 
            &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; &nbsp;&nbsp; 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -