有没有单独词法分析的库?

我想做一个代码高亮的功能,但是我不想创建那些标签(如何实现我自有办法),只要能够知道哪些词高亮就行了

比如下面是 highlight.js创建的

image.png

可能highlight.js中已经有词法分析这一部分了,不过我展示没有找到

阅读 2.6k
4 个回答

今天突然想起这个问题。
highlight是通过词法分析来实现的。只不过词法分析又使用了正则表达式来简化规则。

编译原理里介绍的一般流程
1、先做词法分析,得到一个token列表。
2、再做语法分析,把这个token列表处理成ast。
3、一般的场景就是之后拿ast来做各种骚操作了。

但是对于highlight来说只是语法高亮,那到词法分析这个环节就够了。

hljs.highlight方法可以返回拆分后的结构

image.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏