Pygments 中 Java Lexer 的 analyse_text() 函数

Posted

技术标签:

【中文标题】Pygments 中 Java Lexer 的 analyse_text() 函数【英文标题】:analyse_text() function of the Java Lexer in Pygments 【发布时间】:2019-02-05 06:17:15 【问题描述】:

我使用 pygments 编写了以下代码来获取字符串信息:

from pygments.lexers.jvm import JavaLexer
import pygments.lexers.jvm

t = 'float s = 0.5; System.out.println("Hello World");'
lexer = JavaLexer()
lexer.analyse_text(t)

运行此代码后,我得到了 0.0 的值,而它应该大于 0,因为很多代码是特定于 java 的。我到底哪里错了?

【问题讨论】:

【参考方案1】:

很可能什么都没有:) analyze_text 方法在有多种语言共享相同的文件扩展名时很有用,在这种情况下,词法分析器应该正确地实现它。 JavaLexer 没有实现 analyze_text,所以它默认返回 0。希望能解释清楚!

【讨论】:

以上是关于Pygments 中 Java Lexer 的 analyse_text() 函数的主要内容,如果未能解决你的问题,请参考以下文章

使用 Pygments 检测代码片段的编程语言

Pygments 在 pre 中向 HTML 添加空格

用于 Google App Engine Python 的 Pygments 不起作用

自定义标签未加载到模板中

Python 中 C++ 的简单标记器

无法将 Python 代码发布到 roaslind.info