【问题标题】:Ideas for Create a lexical analyzer program using java使用java创建词法分析器程序的想法
【发布时间】:2012-07-22 11:54:07
【问题描述】:

我正在尝试使用 java 创建一个词法分析器程序。程序必须具有标记化的概念。我在编译器编程方面具有初级知识。我知道互联网上有很多词法生成器。我可以用它们来测试我自己的词法分析器输出了。但是我需要做我自己的词法分析器。任何人都可以提供一些最好的参考资料或文章或想法来开始我的整理工作吗?

【问题讨论】:

  • 您有什么特别的问题吗?或者只是一般的想法。
  • 我很难找到关键字、评论、WhiteSpace 等....但我想如果我有大致的想法,我可以很容易地做到。
  • 您想构建一个词法分析工具来识别特定语言的标记吗?或者您想构建一个词法分析器生成器工具来接受标记的描述并生成一个词法分析工具?
  • @Ira Baxter 其实我想构建一个词法分析工具来识别java源代码的标记。

标签: java compiler-construction tokenize lexical-analysis stringtokenizer


【解决方案1】:

Aho Sethi 和 Ullman 的“编译器原理、技术和工具”有一章是关于词法分析器的。它包含了很多关于正则表达式和有限自动机的理论,这些都是这个问题域的核心。

【讨论】:

  • 谢谢,我去看看那本书
【解决方案2】:

我会尝试查看一些更好的源代码。我过去使用过Sablecc。如果你去this 页面描述如何设置你的环境,有一个link 到它的源代码。 Antlr 也是一个很常用的。这是它的源代码。

另外,The Dragon Book 真的很好。

根据 SK-logic 的建议,我将添加 Modern Compiler Implementation 作为另一个选项。

【讨论】:

  • 谢谢,我会看看那些
  • 龙书真的过时了
  • 为什么 Dragon book 有第 2 版......它已经过时了吗?我认为 Stephen C 的答案提到的书是同一本书。
  • @SK-logic,您还有其他建议吗?那是我不久前参加编译器课程时使用的那本书,我觉得它很不错。
  • @Thabo 是的,我认为你是对的。我只是从未听过有人用它的真实名字称呼它。
猜你喜欢
  • 2014-04-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-07
  • 2011-06-15
  • 2010-11-02
  • 1970-01-01
相关资源
最近更新 更多