今天在硬盘上发现了去年写的一个小型IDE

今天在硬盘上发现了去年写的一个小型IDE

    当Vczh Free Script还处于1.0版本的时候,我用C#写了一个IDE出来。因为脚本本身是不能产生exe的,所以这个IDE只有执行而没有编译的功能。不过有两个个困难的地方。

    RichTextBox里面的修改会让颜色变化。我找不到C#中的有效做法,所以只好把自己的正则表达式引擎包一层插入C#,每次修改的时候都重新生成整个RTF文档插入RichTextBox。后来测试的时候,发现只要脚本在1000行左右的时候速度仍然是可以接受的。没有进行更多的测试。

    脚本自己也是可以调用编译器的。脚本代码可以用字符串产生一段新的代码然后执行。因此IDE也要动态的【发现】并【调试】这些动态产生的代码。下面贴了4幅图。

今天在硬盘上发现了去年写的一个小型IDE_第1张图片
今天在硬盘上发现了去年写的一个小型IDE_第2张图片
今天在硬盘上发现了去年写的一个小型IDE_第3张图片
今天在硬盘上发现了去年写的一个小型IDE_第4张图片

    上图那个“不能执行加法操作”的原因是“+”只能用来做数值运算,字符串之间或者数组之间的连接用的操作符是“++”。

    现在这个IDE已经没用了,因为在Vczh Free Script升级到2.0的时候,脚本开放给.NET的接口跟1.0的完全不兼容。不过用来做自动变色的方法我觉得也相当的烂。就这么扔掉吧。C#控制RichTextBox是相当的吃力啊,不过如果可以写一个调试的界面让未来使用Vczh Free Script的程序可以直接调用的话那就爽了。以后再想办法,不过估计会选择C++来实现这个东西。现在还是做个图形库出来换换口味好。

 
    等期末考结束后我就把Vczh Free Script 2.0发布出来,连同源代码。源代码里面包含的内容如下:
    ·自己用的C++模板库以及一些基础工具。个人不喜欢STL。
    ·这篇文章里面说的正则表达式引擎。
    ·自己做的YACC,区别是我这个东西不产生代码,是运行时产生分析器的。名字叫Syngram。
    ·使用Syngram做的Vczh Free Script 2.0编译器,以及虚拟机。
    ·C++和.NET两个版本的DLL接口的源代码,以及分别使用这两个接口开发的字符界面虚拟机的源代码。
    ·我为Vczh Free Script 2.0写的库,包含了容器、正则表达式、语法分析、反射等,使用脚本编写。
    非源代码部分将有编译好的Vczh Free Script 2.0(.NET版至少需要.NET 2.0 + SP1才能执行)和一些文档和资料等。

    在发布之前我估计要找SourceForge或者CodeProject放一放,然后加个协议上去。至于是哪种,这个慢慢考虑一下。嘿嘿。

你可能感兴趣的:(今天在硬盘上发现了去年写的一个小型IDE)