如何制作一个自动识别编程语言的引擎?

2019-07-05 16:12:01 +08:00
 EulerChen

现在有需要去写出一个这样的识别引擎,我尝试将 highlight.js 这个代码高亮库的语言自动识别部分抠出来,不过这个库识别准确率堪忧

各位大佬有什么 idea,请启发一下😂,不必完美识别,识别率在 80%+即可

5430 次点击
所在节点    编程
5 条回复
NullErro
2019-07-05 16:48:31 +08:00
Kilerd
2019-07-05 16:57:25 +08:00
highlight.js 很多时候并不能很好的识别语言,都是要

```LANGUAGE

```

这样人工标示的。
love
2019-07-05 17:17:30 +08:00
把要识别的语言的的关键字列表都拿来,然后和目标代码块做个匹配,如果代码块里的关键词都能在一个语言关键词组都能找到就是哪个了。
还可以加点别的因子,比如导入第三方模块的语法。
EulerChen
2019-07-06 00:09:44 +08:00
@love highlight.js 就是这么做的,但是现在很多编程语言都长得很像,需要采集足够的特征
EulerChen
2019-07-06 00:09:56 +08:00
@NullErro 谢谢,我看下

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/580357

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX