V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
EulerChen
V2EX  ›  编程

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

  •  1
     
  •   EulerChen · 2019-07-05 16:12:01 +08:00 · 5433 次点击
    这是一个创建于 2005 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    5 条回复    2019-07-06 00:09:56 +08:00
    NullErro
        1
    NullErro  
       2019-07-05 16:48:31 +08:00   ❤️ 1
    Kilerd
        2
    Kilerd  
       2019-07-05 16:57:25 +08:00
    highlight.js 很多时候并不能很好的识别语言,都是要

    ```LANGUAGE

    ```

    这样人工标示的。
    love
        3
    love  
       2019-07-05 17:17:30 +08:00
    把要识别的语言的的关键字列表都拿来,然后和目标代码块做个匹配,如果代码块里的关键词都能在一个语言关键词组都能找到就是哪个了。
    还可以加点别的因子,比如导入第三方模块的语法。
    EulerChen
        4
    EulerChen  
    OP
       2019-07-06 00:09:44 +08:00
    @love highlight.js 就是这么做的,但是现在很多编程语言都长得很像,需要采集足够的特征
    EulerChen
        5
    EulerChen  
    OP
       2019-07-06 00:09:56 +08:00
    @NullErro 谢谢,我看下
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1764 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 16:25 · PVG 00:25 · LAX 08:25 · JFK 11:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.