| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦赛孚耐:软件保护加密专家身份认证令牌USB KEY 
共有 235 人关注过本帖
标题:如何用 C 或C++ 编写简单的 compiler (scanner and parser) .
收藏  订阅  推荐  打印 
zladd
Rank: 1
等级:新手上路
帖子:9
积分:190
注册:2007-2-2
如何用 C 或C++ 编写简单的 compiler (scanner and parser) .

用以下Context Free Grammar(CFG) 编写一个简单的编译程序

<PROGRAM> → <STMTS>

<STMTS> → <STMTS> <STMT> | <STMT>

<STMT> → <ASSIGNMENT_STMT> | <IF_STMT> | <PRINT_STMT>

<ASSIGNMENT_STMT> → variable = integer ; | variable = <EXPRESSION> ;

<EXPRESSION> → <EXPRESSION> + <TERM> | <EXPRESSION> - <TERM> |
<TERM>

<TERM> → <TERM> * <FACTOR> | <TERM> / <FACTOR> | <FACTOR>

<FACTOR> → variable | ( <EXPRESSION> ) | integer

<IF_STMT> → if ( <CONDITION> ) then <STMTS> endif

<PRINT_STMT> → variable ;

<CONDITION> → <VALUE> <COND_OP> <VALUE>

<VALUE> → variable | integer

<COND_OP> → = | < | > | <= | >=

本人对如何将CFG 用C或C++表达不是很清楚, 希望可以得到大家的帮助, 谢谢.

搜索更多相关主题的帖子: parser  compiler  scanner  TERM  
2007-4-3 04:55
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.050483 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved