1
orzfly 2013 年 9 月 7 日
|
4
GordianZ 2013 年 9 月 7 日
直接编译说不定还快点……
|
7
Perry 2013 年 9 月 7 日 我觉得简化流程的想法很好,但是在前端做识别语言的处理话会很难(目前也没有最简便的方法,或者说要做的通吃很多语言会很有压力,也做不到很精准);这个时候我觉得应该让用户自己去选择,作为用户的角度来说也不是什么特别麻烦的事情。
|
8
clippit 2013 年 9 月 7 日
记得以前看到过有人写了一段代码,可以同时当成好几种语言成功编译或执行
|
9
Kabie 2013 年 9 月 7 日 |
10
rwx 2013 年 9 月 7 日
pretty是直接把pre标签里的代码按探测的语言进行着色,但是没研究过代码,不知道是不是真的有语言探测,还是其它的什么机制
|
12
breeswish OP @GordianZ 嗯。。我就是来寻求不做语法分析的方案的。。
比如对于人来说,人辨认一个代码其实也不是按照语法分析的,不是拿所有已知的语言进行一遍语法分析,而是根据一些特征来判断,比如见到了#include,并且到处都是花括号什么的,直接就会觉得这是个C/C++,而如果见到满屏幕的begin end和prodecure,以及:=之类的,就会觉得是个pascal;而看到def \n xxx \n end等等可能就会觉得是个ruby。我希望能编程来实现这个~ |
13
alexapollo 2013 年 9 月 8 日 为啥不是语法分析。其实你想做的就是简版的NLP。
NLP分两种: 1、基于规则 2、基于统计 现在的NLP领域仍然是基于规则的胜率更高,统计还有很长的路要走。 更何况programming language有非常明确的规则,可以很简单的识别出来。 统计当然也可以做,但现在都是非工程化的。 |
14
kfll 2013 年 9 月 8 日 我觉得在这方面,不选择语言是吃力不讨好的...
|
15
miaoever 2013 年 9 月 8 日 stackoverflow 上的那个答案其实就挺好的,LZ 不妨试试。贝叶斯分类器实现很简单,但是效果往往会非常好。
|
16
hooluupog 2013 年 9 月 8 日
google内部倒是有可以分析和编译多种语言的工具(c/c++/python/java),我觉得lz可以去知乎上提问,邀请王垠来解答下,他应该对这方面比较了解。
|
18
yangff 2013 年 9 月 8 日
|
19
Mutoo 2013 年 9 月 8 日 呵呵,你让那些有多个版本的语言怎么办,比较 python2.x python3.x actionsctip1.0/2.0/3.0
这种事让用户去做最好了,错了责任是他们的。 |