﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>C++博客-socketref-随笔分类-YACC/LEX/Compiler</title><link>http://www.cppblog.com/socketref/category/7014.html</link><description>opensource in my life!
Technical Engineer</description><language>zh-cn</language><lastBuildDate>Fri, 16 Jul 2010 16:19:45 GMT</lastBuildDate><pubDate>Fri, 16 Jul 2010 16:19:45 GMT</pubDate><ttl>60</ttl><item><title>bison&amp;flex - 读slice的语法结构</title><link>http://www.cppblog.com/socketref/archive/2010/07/16/120538.html</link><dc:creator>放屁阿狗 </dc:creator><author>放屁阿狗 </author><pubDate>Fri, 16 Jul 2010 04:47:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2010/07/16/120538.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/120538.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2010/07/16/120538.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/120538.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/120538.html</trackback:ping><description><![CDATA[ice的slice由 scanner.l,grammar.y构成语法，并映射到不同的程序语言<br><img src ="http://www.cppblog.com/socketref/aggbug/120538.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁阿狗 </a> 2010-07-16 12:47 <a href="http://www.cppblog.com/socketref/archive/2010/07/16/120538.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>考虑设计一种便捷的通信库</title><link>http://www.cppblog.com/socketref/archive/2010/05/10/114999.html</link><dc:creator>放屁阿狗 </dc:creator><author>放屁阿狗 </author><pubDate>Mon, 10 May 2010 07:27:00 GMT</pubDate><guid>http://www.cppblog.com/socketref/archive/2010/05/10/114999.html</guid><wfw:comment>http://www.cppblog.com/socketref/comments/114999.html</wfw:comment><comments>http://www.cppblog.com/socketref/archive/2010/05/10/114999.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cppblog.com/socketref/comments/commentRss/114999.html</wfw:commentRss><trackback:ping>http://www.cppblog.com/socketref/services/trackbacks/114999.html</trackback:ping><description><![CDATA[Ice的设计思想非常好,通过slice定义之后产生一堆的通信框架代码来自动化完成对象数据的序列化<br>由于ice是基于Rpc的,底层通信细节被屏蔽掉了,甚至是连接的自动重复建立,可喜又可悲,有些应用必须要关心这些底部的通信细节,<br>如果直接用socket又嫌太麻烦了,不同的应用都是在重复的进行开发通信协议,解包和打包花销很很多的精力,这些工作都是重复的,没有技术含量而且容易出错.<br>之前开发过mtslib通信库来解决socket通信问题,使两端都是以消息包的形式进行通信,解决了socket两段buffer的管理<br>也看过ice的代码实现,slice2cpp用yacc&amp;lex进行词法语法的处理<br>对象的自动序列化这是我所感兴趣的,同ice一样提供一个通信环境,然后用户可以自定义自己的通信数据,通过idl的形式自动产生序列化代码并编译进用户工程.<br>这种方式与ice又不同在于没有那么傻瓜化,但简化了用户处理消息报的过程.<br>这样要完成一个类似ice的rpc调用也是没有那么简单<br>yacc/lex,lemon,<br><br><img src ="http://www.cppblog.com/socketref/aggbug/114999.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.cppblog.com/socketref/" target="_blank">放屁阿狗 </a> 2010-05-10 15:27 <a href="http://www.cppblog.com/socketref/archive/2010/05/10/114999.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>