昨天补记:
昨天晚上开始考虑Tiger语言的语法分析实现.词法分析不是很困难,语法分析稍微麻烦一点.需要先自己构造出LR(1)的分析表.我琢磨了半天,终于知道怎么把Tiger语言表达成EBNF表达式了.这步完成了,才能把Tiger语言表达成可以推理的文法.
至于整个程序外观,我想做成类似Visual Studio .NET 的形式. 它的可收缩窗口可以用MagicLibrary完成(http://www.codeproject.com/cs/miscctrl/magicdocking.asp),
而代码编辑窗口我准备利用一个开源软件SharpDevelop(http://www.icsharpcode.net/opensource/sd/)中的一个编辑器(icsharpcode.texteditor.dll)来完成。只是目前该组件虽然能够有行号标注,但是它的代码自动加亮还不知道如何用,所以还要琢磨琢磨,等能够自动语法加亮了,那么程序就会漂亮多了。
今天早上七点过被闹钟吵醒了,可使怎么都睁不开眼。到了7:40才爬起来,真不知道自己为什么会这么嗜睡。只能安慰自己以后早点睡早点起来。
一天小事记:
8:00-8:30:回顾昨天
8:30-9:30:上网找关于SharpDevelop中语法加亮的资料,通过网上查找和自己琢磨,
明白了利用SharpDevelop的TextEditor实现语法加亮其实并不难,步骤如下:
1、用SharpDevelop打开SharpDevelop的源代码,在“复合工程
Libraries->TextEditor"下面的资源文件里先添加一个定义
语法加亮规则的xshd文件,在该目录下的SyntaxModes.xml文件里
添加一行,把新加的xshd文件加入
2、重新编译该项目,生成ICSharpCode.TextEditor.dll
3、将该组件加入Visual Studio .NET解决方案,在代码里设定TextEditor
要采用的语法加亮方案,比如要采用C#的语法加亮,可以用如下代码:
Editor.SetHighlighting("C#");
4、重新运行程序,果然代码编辑器已经支持语法加亮了
在CSDNBlog上看到了古月春秋的几篇文章,讲SharpDevelop分析的,
觉得不错,记在下面:
http://blog.csdn.net/passos/category/51458.aspx
下午很郁闷的,觉得没什么成果:
先是看了怎样用XSL把XML转化为HTML文档,但是要自己写代码来把NUnit生成的
XML测试报告转成HTML好像工作量还是比较大,于是慢慢将NUnit2Report这个
工具里的英文信息改成中文的。挺花时间,而且中间还出了一个问题,导致显示
的HTML很难看。
重装了一个Bug管理工具,考虑用它来做一些事务流程处理的工具。发现实在是
不适合。于是作罢
处理了一些其他的杂事,很快时间就溜过去了。
咳,还是晚上再努力吧