【开发】【开源】SmartEditorForOI

来源:互联网 发布:河南网络教育 编辑:程序博客网 时间:2024/05/18 00:43

因为一些需求,比如说平时的刷题,我决定开发一款Notepad++的插件,或者说直接利用Scintilla作为底层直接开发(因为比较喜欢Notepad++系列的代码高亮风格)。
这款插件/软件命名为SmartEditorForOI,代码全部开源,目前主要计划利用C/C++和Python编写下列几个模块:
1.编辑器模块。这一块一开始不会花太多的功夫,因为相对来说比较麻烦,就先不搞那么多了。届时会有相应的GUI界面,然后提供一些小功能,比如说像命令行,GDB调试,一键编译和一键测试与抓取样例数据等等。
2.爬虫模块。这是比较关键的东西,主要是抓取各种题目、比赛,于是方便刷题,另外也可以在没有网的时候做题。当然,如果没有网络,那么并不会提交,最多是将题目缓存在本地。其实vjudge等系统是可以做到这些的,但是不够方便,而且比赛抓不过来啊~目前我主要就在做这个模块。
3.题解抓取与判定模块。这只是未来的规划,可能是按照各种方式在网络上利用搜索引擎综合搜索,然后再利用贝叶斯或者神经网络或者SVM(支持向量机)来判定这样一些题解。不过现在基本已经用SciPy很简单地实现了贝叶斯~但是关键是搜索引擎方面的不好做,也许要用到一些奇奇怪怪的特殊全文搜索引擎?

现在差不多就是这样了。目前的进度大概是编辑器没做,爬虫稍微搞了一点,然后题解抓取部分没搞,判定模块就随便用SciPy实现了一下。下面是开发的日志:

16.08.30 稍微总结一下现有的成果。目前已经搞了一下poj、hdu题目列表的抓取,未来应该会利用某个C的Python库去除HTML标签之后抓题目的内容,正则表达式的效率还是低了点,另外也有点麻烦~然后利用贝叶斯稍微搞了一下判定分类器,感觉效果可能会不错。另外顺手记一下一篇讲Scintilla开发的文章地址:http://www.oschina.net/question/10320_7623
另外我找到一个适用于C++Builder2010的Scintilla源码版本:https://sourceforge.net/projects/scintilla/files/SciTE/1.78/scite178.zip/download?use_mirror=master&download=
好吧我想应该用VisualC++……C++Builder并不能加载到dll,奇怪~
另外留一个Scintilla的文档地址:http://www.scintilla.org/ScintillaDoc.html,这里有很多官方级别的说明和接口设置之类,貌似很有用。
另外继续记录一个用MFC操纵Scintilla的文章:http://blog.csdn.net/akof1314/article/details/8585917

0 0
原创粉丝点击