当前位置:首页 » 编程博文
开发技术指南» 文章正文
    引言: V. GETTING STARTED -- A SMALL EXAMPLE V. 现在开始-一个简单例子 这一章的目的是教您怎样在一个语言开发项目中使用PCYACC,为了达到这个目标,我们假定您熟悉C语言。
 

 

 ·atl布幔之下的秘密(1)    »显示摘要«
    摘要:原作者:zeeshan amjad原文链接:http://www.codeproject.com/atl/atl_underthehood_.asp 介绍  在本系列的教程中,我要讨论一些atl的内部工作方式以及它所使用的技术。   在讨论的开始,让我们先看看一个程序的内存分布。首先,编写一个简单的程序,它没有任何的数据成员,你可以看看它的内存结构。程序1.#include <iostrea......
    摘要:客户端源码分析之四:piecepicker 类 作者:小马哥 日期:2004-7-2 rstevens at hotmail.com 版权所有,未经允许,不得转载 piecepicker 用于实现“片断选择算法”,片断选择算法在《incentives build robustness in bittorrent》一文中有介绍,我把相关内容列出来。 bt的片断选择算法,综合下面几种策略。 l 严格的......


小例子学习PCYACC和编译器开发

v. getting started -- a small example

这一章的目的是教您怎样在一个语言开发项目中使用pcyacc,为了达到这个目标,我们假定您熟悉c语言.我们同样假定您有一份abraxas pcyacc与一个c语言编译器(c compiler). 【程序编程相关:FlatStyle按钮自己做

v. 现在开始-一个简单例子 【推荐阅读:一个男人和三个女人的故事[《.net框架

1.sacalc的语法描述文件(grammar description file) 【扩展信息:我的EJB学习历程(六)

这一章给你使用pcyacc的程序开发流程的概述.本章的例子是一个简单的计算器,它能够做普通算术操作.这个例子将会向您展示它-我们暂时定名为sacalc(simple arithmetic calculator program)的pcyacc程序清单,同时举例说明怎样用pcyacc与c编译器建立可执行的sacalc,在稍后的一章中我们还会用一个稍微高级一点的例子来详细描述开发过程.

下面是这个简单计算器例子的gdf代码文件:sacalc.y,为了引用的方便,我们在其中加入了行号(请注意,行号不能出现在您的gdl文件中)01: %{

02:

03: #define yystype double /* stack data type */

04:

05: %}

06:

07: %token number

08: %left ´+´ ´-´ /* left associative */

09: %left ´*´ ´/´ /* left associative */

10: %left unaryminus

11:

12: %%

13:

14: list: /* nothing */

15: | list ´\n´

16: | list expr ´\n´

17: { printf("\t%.8g\n", $2); }

18: | list error ´\n´

19: { yyerrok; }

20: ;

21:

22: expr: number

23: { $$ = $1; }

24: | ´-´ expr %prec unaryminus

25: { $$ = -$2; }

26: | expr ´+´ expr

27: { $$ = $1 + $3; }

28: | expr ´-´ expr

29: { $$ = $1 - $3; }

30: | expr ´*´ expr

31: { $$ = $1 * $3; }


...   下一页
    摘要: 成员函数指针与高性能的c++委托(上篇) member function pointers and the fastest possible c++ delegates 撰文:don clugston 翻译:周翔 引子 标准c++中没有真正的面向对象的函数指针。这一点对c++来说是不幸的,因为面向对象的指针(也叫做“闭包(closure)”或“委托(delegate)”)在一些语言中已经证明了它......
» 本期热门文章:

©2000-2007 All Rights Reserved. 最佳浏览:1024X768 MSIE