博客首页 注册 建议与交流 排行榜 加入友情链接
推荐 投诉 搜索: 帮助

hope_process

感觉好累。。。
  heixia108.cublog.cn

关于作者
    既然目标是地平线

   留给世界的只能是背影
   
|| << >> ||
我的分类


Tiny 语法及语义分析
有一个函数需要说明

TreeNode * stmt_sequence(void)
{
     TreeNode * t = statement();
     TreeNode * p = t;
     while ((token!=ENDFILE) && (token!=END) &&
           (token!=ELSE) && (token!=UNTIL))
/*
 * if-stmt -> if exp then stmt-sequence [ else stmt-sequence ] end
 * 可见stmt-sequence后面可能跟else , end ,然而这并不是 stmt_sequence 函数  *  该管的事,须由if_stmt函数来检测
 * 所以 有 (token!=END) && (token!=ELSE),其它 ( (token!=UNTIL) ) 同理
 */

     {
          TreeNode * q;
          match(SEMI);
          q = statement();
          if (q!=NULL) {
               if (t==NULL) t = p = q;
               else /* now p cannot be NULL either */
               {
                    p->sibling = q;
                    p = q;
               }
          }
     }
     return t;
}


语法分析
文件:syntax.rar
大小:15KB
下载:下载
语义分析
文件:analyze.rar
大小:19KB
下载:下载

发表于: 2008-06-08,修改于: 2008-06-09 00:01,已浏览132次,有评论0条 推荐 投诉


网友评论
 发表评论