当前位置: 首页 > 面试题库 >

相当于Java的Yacc

松高爽
2023-03-14
问题内容

我正在使用Java进行编译器设计项目。进行了词法分析(使用jflex),我想知道哪种yacc类工具最适合(最有效,最易用等)进行语法分析,为什么这样做。


问题答案:

如果您特别想要类似YACC的行为(表驱动),那么我所知道的唯一一个就是CUP。

在Java世界中,似乎有更多的人倾向于ANTLR或JavaCC之类的递归下降解析器。

而且效率很少是选择解析器生成器的原因。



 类似资料:
  • 问题内容: 我正在寻找Java ByteBuffer的“ C ++”。 我可能会丢失明显的内容,或者仅需要一个孤立的用法示例进行澄清。我浏览了iostream家族,它似乎可以提供基础。具体来说,我希望能够: 从字节数组/点构建缓冲区,并从缓冲区获取原语,例如getByte,getInt 使用原语(例如putByte,putInt)构建缓冲区,然后获取字节数组/指针。 问题答案: 您已经拥有,或者可

  • 问题内容: Java是否具有表示一段时间的数据类型,例如34秒,5分钟等。 我已经看到了一些TimeSpan的实现,这些实现涵盖了从12月10日到12月11日这样的时间段。 我需要的是类似C#中的TimeSpan。 问题答案: 目前还不是JDK的一部分,但是将被合并到JDK 7中-尝试Joda Time

  • 问题内容: 在这里遇到一些建筑上的麻烦。 在C ++中,我们有“朋友”的概念,这种朋友类可以访问私有成员。 因此,我正在设计一个Java应用程序并尝试遵守MVC架构。我有一个控制器类来管理“ map_objects”之间的图形连接。我想通过使用此控制器类在DTO’map_objects’中隐藏实际设置这些连通性的函数。 (即,即使控制器类实现了设置连接性所需的功能,“用户”仍然可以直接在DTO中访

  • 问题内容: 在Java中有与.NET等效的东西吗? 问题答案: 看一下String.format和PrintStream.format方法。 两者都基于java.util.Formatter类。 String.format示例: System.out.format示例:

  • 问题内容: 我正在将应用程序从PHP迁移到Java,并且在代码中大量使用了正则表达式。我遇到了PHP中似乎没有Java等效项的某些问题: 对于正则表达式中的每个匹配项,它都会调用一个函数,该函数将匹配文本作为参数传递给该函数。作为示例用法: 用Java做到这一点的理想方法是什么? 问题答案: 我不知道Java内置有什么类似的东西。您可以使用Matcher类轻松滚动自己的游戏: 然后致电: 请注意,

  • 问题内容: 我的任务是为开源应用程序编写身份验证组件。我们有一个使用的内部身份验证小部件。我有一些例子访问的代码,它使用来办理过户。 我的问题是,是否有to 的端口,或者更好的是,什么基本软件包将使我足够接近以处理任务? 更新 : 简而言之,我想在JAVA中复制的代码: 我认为您的目标是正确的,我认为我最终将使用HttpsURLConnection,然后从响应中选择所需的内容。 问题答案: 省略异