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

解析器,Java生成器,具有以下要求

陆仲渊
2023-03-14
问题内容

我正在寻找用于Java的解析器生成器,该解析器生成器将执行以下操作:我的语言项目非常简单,并且仅包含少量标记。

以纯READABLE Java代码输出,以便我可以对其进行修改(这就是为什么我不使用ANTLR的原因)成熟的库,该库至少可以在Java 1.4上运行和使用

我看过以下内容,它们可能会起作用:JavaCC,jlex,Ragel?


问题答案:

您应该使用Rats
…这样,您不必将lexer和parser分开,然后,如果您想扩展项目,那将是微不足道的。它在Java中,然后您可以在Java中处理AST …



 类似资料:
  • 问题内容: 我需要以下工具: 方便地解析Java源代码并轻松访问给定的元素。 轻松生成源代码文件,轻松将数据结构转换为代码 有什么好的技巧,库,框架,工具吗?谢谢你的帮助。 问题答案: 从Java 6开始,编译器在JDK中包含一个API。通过它,您可以通过API 访问Java解析器的结果。JDK5以Mirror API 的形式提供了相同的功能。有一个很好的介绍性文章在这里。 我见过的最好的代码生成

  • 我正在尝试使用ANTLRV4为一个简单的自定义语法生成一个lexer和解析器。问题是,当我运行Antlr.jar实用程序时,它生成了一个Lexer文件,而不是一个解析器文件,我认为它应该生成。 简单语法 hellolexer.js hellolexer.tokens 所需输出 hellolexer.js helloparser.js hellolistener.js hellovisitor.js

  • 本文向大家介绍Python生成器以及应用实例解析,包括了Python生成器以及应用实例解析的使用技巧和注意事项,需要的朋友参考一下 本文研究的主要是Python生成器及其应用,具体如下。 一、定义 可以理解为一种数据类型,这种数据类型自动实现了迭代器协议(其他的数据类型需要调用自己内置的__iter__方法),所以生成器就是可迭代对象 二、生成器的两种形式(Python有两种不同的方式提供生成器)

  • 以上输出在我的终端上。我使用的是MacOS10.7。x、 我有Python 2.7。1,并按照本教程获得Beautiful Soup和lxml,它们都已成功安装,并可使用位于此处的单独测试文件工作。在导致此错误的Python脚本中,我包含了这一行:,在pageCrawler文件中,我包含了以下两行: 如果您能帮助我们找出问题所在以及如何解决问题,我们将不胜感激。

  • 问题内容: 在下面的: 我知道any(…)内部是一个生成器对象。我不明白的是缺少括号-如果括号属于any()函数,在生成器表达式周围是否应该有另一组括号? 谢谢。 问题答案: 当仅在一个参数中使用函数调用时,可以省略括号,生成器表达式语法专门允许使用该括号。 仅带有一个参数的调用可以省略括号。有关详细信息,请参见“通话”部分。

  • Milo Yip 2017/1/5 本文是《从零开始的 JSON 库教程》的第七个单元解答篇。解答代码位于 json-tutorial/tutorial07_answer。 1. 生成字符串 我们需要对一些字符进行转义,最简单的实现如下: static void lept_stringify_string(lept_context* c, const char* s, size_t len) {