pygments 如何猜测词法分析器?

Posted

技术标签:

【中文标题】pygments 如何猜测词法分析器?【英文标题】:how does pygments guess lexer? 【发布时间】:2013-03-01 16:39:29 【问题描述】:

我正在使用中间人语法来突出显示我博客中的代码

我正在用 Markdown 编写我的模板...并且想知道,pygments 是如何猜测词法分析器的?

  if I write

  ´´´ruby
  ruby code here
  ```

  it doesnt work

  if I write

  ```      
  #!ruby
  ruby here
  ```

  it does

  If I write

  ```
  <?php
  php code here
  ```

  It does

有没有pygments怎么猜的列表?

【问题讨论】:

我不知道 pygments 是如何具体做到这一点的,但是您可以构建一些令牌概率的二元组和三元组,将代码解析为这些令牌,并将分布与您的已知/分类代码进行比较碎片并据此做出相当准确的猜测。 我想知道我的模板中什么可以使用,什么不能使用 你的意思是什么语言? pygments.org/languages 【参考方案1】:

据我所知,Pygments 不会猜测。

Linguist does.

【讨论】:

不,你错了。看到这个:github.com/dagwieers/pygments/blob/…。它基本上遍历所有语言,分析并返回最佳匹配。

以上是关于pygments 如何猜测词法分析器?的主要内容,如果未能解决你的问题,请参考以下文章

将 pygments 词法分析器与 antl python 目标一起使用

用于 AspectJ 的 Pygments 词法分析器

在 Trac 中使用没有 mime 类型的 Pygments 词法分析器?

将字符串流式传输到 pygments 词法分析器?

简单的 CSV 词法分析器

将附加扩展与现有的词法分析器相关联