1

我有一个使用 JTextPane 用 Ja​​va 编写的小型工作文本编辑器,我想为特定的单词着色。它的工作方式与 Java(在 Eclipse 中)中的关键字被着色的方式相同;如果它们是关键字,则在用户完成输入后它们会突出显示。我是用 Java 实现的文本编辑器的新手,有什么想法吗?

4

1 回答 1

1

在计算机科学中,词法分析是将字符序列转换为标记序列的过程。执行词法分析的程序或函数称为词法分析器、词法分析器、标记器[1] 或扫描器。词法分析器通常作为由解析器或其他函数调用的单个函数存在,或者可以在无扫描器解析中与解析器结合使用。

话虽如此,这并非易事。你需要一个高级库来做到这一点。它会减轻你的任务。出路是什么?

使用ANTLR。这是它的网站所说的:

ANTLR 是一个强大的解析器生成器,可用于读取、处理、执行或翻译结构化文本或二进制文件。它在学术界和工业界被广泛用于构建各种语言、工具和框架......
NetBeans IDE 使用 ANTLR 解析 C++。

到了,问题解决了。ANTLR 的作者还有一本关于如何使用 ANTLR 的书,如果你想学习如何使用它,可以购买。

给你足够的大脑融化后,有一个开箱即用的解决方案可供你使用:JSyntaxPane。就像任何 JCOmponent 一样,您初始化它并将其弹出到 JFrame 中。它就像一个魅力。它支持除 Java 之外的许多语言

于 2013-10-20T07:35:22.770 回答