可能的用途是:
1。文本重新格式化输出;
2。原有web应用的再包装,比如原来输出html的web程序,不需要改动任何源代码就可以让它输出xml,wml,或者任何你想要的东西;
3。mud机器人;
4。聊天机器人;
5。变形script病毒的匹配;
6。文本特征识别;
7...
1。文本重新格式化输出;
2。原有web应用的再包装,比如原来输出html的web程序,不需要改动任何源代码就可以让它输出xml,wml,或者任何你想要的东西;
3。mud机器人;
4。聊天机器人;
5。变形script病毒的匹配;
6。文本特征识别;
7...
解决方案 »
- 哪个版本的JBuilder可以运行JDK1.6
- int.class有人能解释下吗?
- 请问这个equals方法为什么需要做这么多次判断?
- 关于补码的问题
- 有人在Eclipse下用过JFreeChart吗?应该如何配置环境?我只想编java application程序。不是JSP。谢谢!
- 键盘事件问题!
- 如何对字符串进行扫描,然后提取相关信息!
- 一朋友需要mobileset3 (for jbuilder),我开贴子联系他!(希望大家帮忙up, 都有分,多谢了)谢谢大家!!!
- 请问怎么对一个数组排序,数组的内容是字符串,可能是单个也可能是多个?
- 数据库输出到java界面,接收并显示某列的和
- 在JAVA数据库编程中,怎么对两个不同类型的数据库同时操作?
- 完全自由的oicq
支持vive
我得意的不是匹配算法,而是简洁的语法,竟然可以完成进行文本匹配的绝大部分功能。技巧很多,比如完全可以根据前面检测到的条件来决定后面的输出结果。我在做wml输出的时候就在gepal里面(而不是在java里面)判断用户手机型号,屏幕大小,来决定页面的安排;甚至,html和wml都混在一个文件里输出
目前它还处于非常原始的状态。函数定义的引入,对我自己来说也很难取舍。一方面,不引入函数的话就无法处理表结构;或者引入循环也可以,但是不管哪种语言都需要函数吧?而有了函数的定义,就不一定需要循环,都可以用递归来处理了。
另外一方面,函数的引入破坏了它的简单性。它原来还有一个奇妙的性质:可逆性。只要把每一句倒过来运算,就可以从输出得到输入;而现在有了函数,它好像不具备这种性质了(我没有仔细确认)。没有函数的定义,写出来的代码可以说完全是描述性的,并不需要考虑执行过程,也永远不用担心程序会崩溃。现在就不行了
它还迫切需要类似include的语法。实现并不难,但是我迟迟无法决定如何引入。因为我做语法分析的时候并不知道它是一个文件,只知道是一个流;它是外面传进来的,很有可能是一个url,或者是一个字符串(我是指.gpl程序本身);那语法分析器凭什么去打开一个文件呢,既然它本身都不是文件的话?
昨天晚上刚刚包装好(以前只有我自己看得懂),写了一点点文档,然后用chinaren的主页大巴wizard做了一个主页。声明,那首恶心的诗是自动生成的,不是我写的 :)
如果觉得有用可以和我联系。我打算公开rungpl的源代码,这样大家可以对照rungpl.java来把gepal嵌入到自己的程序里面
其实,简单的词法分析和语法分析相信大家到处都要用到的,可是写起来很头疼。如果直接用gepal的话就很省事了(gepal程序可以直接放在java的字符串里面,不需要另外开文件);还有mud机器人,用这个来做最合适不过了!
其次,正则表达式是描述词法用的,能力很弱,并不适合描述文法,比如,无法描述递归文法
我用的是简化的标准bnf范式。没有用扩展的bnf范式,因为扩展的bnf范式并没有增强它的处理能力,只是表达形式可以简化
在公司去不了,有忙寄我一份。
[email protected]
这几天我一直在整理gepal的源代码,可能要对gepal的语法进行大幅度的调整了
现在感觉写一个语言解释环境比以前轻松多了,越来越有信心
大家试验了之后感觉如何,欢迎发表意见
欢迎给我来信,[email protected]
[email protected]
[email protected]
[email protected]
可以去gepal.home.chinaren.com下载,才29k。我不发了
还有,执行文件运行不起来。
Exception in thread "main" java.lang.NoClassDefFoundError: untemplate/CharReader at rungpl.readWhole(rungpl.java, Compiled Code)
at rungpl.main(rungpl.java, Compiled Code)
这几天我在大改源代码。源代码贴出来很有用吗?这个东西本来也不难实现
to riverhorse:你找找看,我估计你没解开untemplate那个目录
大家看看test.gpl的源代码,觉得好不好懂?可以改改试试看。我总怕别人看不懂,我做的东西常常很不友好
[email protected]
[email protected]