会员
周边
众包
新闻
博问
闪存
赞助商
所有博客
当前博客
我的博客
我的园子
账号设置
简洁模式
...
退出登录
注册
登录
勿在浮沙筑高台
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
下一页
2010年9月3日
字符编码总结
摘要: 最近被字符编码问题搞的很头疼,很多编码方式可谓“耳熟不能详”,GB2312、ANSI、UTF-8、Unicode…。于是静下心来,好好学习一番。参考资料:http://www.ruanyifeng.com/blog/2007/10/ascii_unicode_and_utf-8.htmlhttp://www.regexlab.com/zh/encoding.h...
阅读全文
posted @ 2010-09-03 14:32 P_Chou
阅读(2781)
评论(3)
推荐(5)
编辑
2010年8月29日
.NET多线程的探讨
摘要: 本文开始总结.NET下的多种多线程机制,不断更新中,往各位补充。Invoke机制最近在实验一个webservice时候,想到了要用异步机制,于是好好研究了一下多线程和Invoke机制,这里写点小小的心得,如有不妥,请各位指教。我们往往会遇到这样的需求:有一个十分耗时间的工作(比如一个WebSerive的请求),我们不希望它阻塞现有的UI线程(因为这样会导致界面假死),而是希望它在另外一个线程里...
阅读全文
posted @ 2010-08-29 11:16 P_Chou
阅读(6442)
评论(15)
推荐(9)
编辑
2010年7月9日
Codeplex TFS服务器升级
摘要: Codeplex的TFS服务器升级了,原来的TFS2008客户端不能用了。需要打这个补丁:http://www.microsoft.com/downloads/details.aspx?FamilyID=cf13ea45-d17b-4edc-8e6c-6c5b208ec54d.
阅读全文
posted @ 2010-07-09 13:50 P_Chou
阅读(338)
评论(0)
推荐(0)
编辑
2010年5月30日
VSX开发之语言服务系列(8)——智能感知
摘要: 回顾在之前的系列中,我们除了介绍了ManagedMyC这个例子、手动构建了一个SimpleLSHost,主要的精力都放在了Lex和Yacc中。之所以这样安排,因为我觉得“内功”比“招式”重要的多。不过对于学习而言,一上来就接触深层次的东西往往是个艰苦的过程。正因为如此,在接下来的几篇中,我将要开始介绍语言服务的各种“招式”,那...
阅读全文
posted @ 2010-05-30 13:37 P_Chou
阅读(1805)
评论(6)
推荐(3)
编辑
2010年5月27日
VSX开发之语言服务系列(7)——Babel面向MPLex和MPPG的接口
摘要: 前言在上一篇中,我们用自己简陋的Scanner和Parser代替了ManagedMyC中的Scanner和Parser,最后得到个只实现简单语法高亮的语言服务。在继续讨论以前,先来看看托管Babel的代码。我曾经耐下心来阅读过Babel的代码,我发现其实Babel不仅提供了面向底层MPLex和MPPG的接口,还实现了一些面向IDE的接口。理解前者有助于实现语言服务的核心功能,理解后者有助于在IDE...
阅读全文
posted @ 2010-05-27 20:22 P_Chou
阅读(1749)
评论(7)
推荐(1)
编辑
2010年5月20日
VSX开发之语言服务系列(9)——插曲MPPG
摘要: 前言本文旨在深入详解MPPG,掌握它对于编写parser是必须的。本文的行文思路是根据SDK额外文档MPPG.pdf中的内容,可以在如下路径下找到该文档:C:\Program Files\Microsoft Visual Studio 2008 SDK\VisualStudioIntegration\ExtraDocumentation。本文适合那些对parser.y一知半解的读者阅读。概述MPP...
阅读全文
posted @ 2010-05-20 12:45 P_Chou
阅读(962)
评论(4)
推荐(1)
编辑
2010年5月19日
VSX开发之语言服务系列(6)——Lex和Yacc
摘要: 前言当我们熟悉了如何构建起自己的语言服务之后,剩下的问题就是真正的完成扫描和解析,任何一个优秀的语言服务都少不了优秀的扫描程序和解析程序。编写扫描程序和解析程序有很多种方式,我想Lex和Yacc是比较常用的,否则微软也不会去实现一个基于C#的Lex和Yacc(我指的是MPLEX 和 MPPG)。俗话说磨刀不误砍柴,我们先来了解一下Lex和Yacc。本文的部分内容摘自:http://www.ibm....
阅读全文
posted @ 2010-05-19 15:46 P_Chou
阅读(1104)
评论(1)
推荐(1)
编辑
VSX开发之语言服务系列(5)——构建自己的Scanner和Pareser
摘要: 回顾在上一篇中,我们从一个空Package开始创建了一个语言服务的基本架构,并且借用ManagedMyC的Scanner和Parser。这篇中,我们将完成一个简单的Scanner,先看下效果图: 可以看到在这个语言服务中,大写字母被着色成红色,小写字母是紫色,数字是蓝色,其他字符时黑色的。接下来我们就来实现这个功能。lexer.lex首先修改lexer.lex。删除原有的代码,加入如下代码:暂时不...
阅读全文
posted @ 2010-05-19 14:01 P_Chou
阅读(890)
评论(1)
推荐(1)
编辑
VSX开发之语言服务系列(4)——从空Package开始构建语言服务框架
摘要: 回顾在前面两篇中,我们研究了ManagedMyC这个例子的代码结构,了解了一个语言服务基本组成以及Managed Babel在语言服务中是如何工作的。在接下来的两篇中,我将从一个空的集成模式Package开始,一步步创建一个简单的语言服务:在这个语言中,没有语法,我们只是简单的利用着色器区分数字和字母,该服务定义的文件后缀为".sls"。逐步开始一、创建空Package语言服务的载体是包,因此我们...
阅读全文
posted @ 2010-05-19 10:23 P_Chou
阅读(873)
评论(0)
推荐(1)
编辑
2010年5月18日
VSX开发之语言服务系列(3)——再来看看ManagedMyC
摘要: 回顾在前面一篇中,我们浏览了ManagedMyC这个例子,其中的代码虽然不算庞大,但是有很多令人困惑的地方。这一篇中,我们来再来慢慢看看代码。Babel其实一直很困惑,为什么微软找这么个名字。反正不管那么多,只要记住,所谓的Babel(这里特指托管的Babel)就是帮助我们开发语言服务的一系列文件。在ManagedMyC这个例子中它们被放在ManagedBabel文件夹中,而且是以连接的形式。实际...
阅读全文
posted @ 2010-05-18 18:26 P_Chou
阅读(824)
评论(0)
推荐(1)
编辑
上一页
1
2
3
4
5
6
7
下一页
公告