【问题标题】:how to develop lexer and parser in java? [closed]如何在java中开发词法分析器和解析器? [关闭]
【发布时间】:2011-02-20 16:28:04
【问题描述】:

您好,我是一名学生,对编译器设计概念不熟悉。我不知道如何在 java 中开发词法分析器和解析器?请帮我做这件事给我一个指导方针......

【问题讨论】:

    标签: java compiler-construction


    【解决方案1】:

    你知道JavaCC吗?

    【讨论】:

      【解决方案2】:

      如果您想学习编写编译器,还应该学习编译器工作原理的基础知识。麻省理工学院 OpenCourseWare1 有一个关于这个主题的很好的课程,有很好的教科书链接。

      有关实际词法分析器/解析器工具的链接,您可以查看其他答案,或使用 Google。我认为该课程可能还会提到它使用了哪些工具。

      【讨论】:

        【解决方案3】:

        你可以使用ANTLR来定义语法,它可以生成编译器,你也可以构造解释器。

        【讨论】:

        • 不,ANTLR 不生成解释器。
        • @Bart Kiers - 更正了我的帖子
        • 谢谢。但是你的答案仍然低于标准,恕我直言。尽管 ANTLR(和类似的工具)有时被称为“compiler compilers”,但说 ANTLR 生成编译器,是(再次恕我直言)误导。 ANTLR 在给定语法的情况下生成词法分析器和/或解析器。而您所说的“您也可以构建解释器”是不言而喻的:当然有人可以创建一个解释器......很抱歉打断你的球,但答案并不值得。
        【解决方案4】:

        您可能对Wikipedia 上的解释器模式感兴趣,它还提供了一个完整的解析器。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2013-01-31
          • 1970-01-01
          • 1970-01-01
          • 2011-04-07
          • 2020-01-17
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多