- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我一直在尝试设置 javacc,但遇到了问题。当我键入 javacc adder.jj(在 adder.jj 所在的目录中)时,我收到“'javacc' 未被识别为内部或外部命令、可运行程序或批处理文件”。
据我了解,我必须转到环境变量、TEMP 并将 PATH 更改为 C:\javacc-6.0\bin;添加到开始。 (我将 javacc zip 解压缩到 C:)。我试过这个并重新启动了我的电脑但没有运气。我也尝试添加 C:\javacc-6.0\bin\lib 但还是没有成功。当我安装 java 让 cmd 识别 javac 时,我这样做了,它成功了!
这可能是微不足道的,但我无法让它工作!
谢谢
亨利
最佳答案
在版本6.0 bin
目录缺少运行 javacc
的脚本。这就是您从 Windows 命令提示符处收到错误的原因。
您拥有的是位于 lib 目录中的 jar 文件 javacc.jar
。您只需要将该 jar 文件添加到您的 classpath
并运行 java.exe
并传递运行 javacc
的主类,后者碰巧也被命名为 javacc
,所以要运行 javacc
只需像这样进行:
cmd> java -cp C:\javacc-6.0\bin\lib\javacc.jar javacc
在最新版本中,他们似乎忘记了将脚本添加到包的 bin
文件夹中。您可以下载version 5.0 ,它包含您需要的所有脚本文件,其中包括一个名为 javacc.bat
的文件,这是窗口命令提示正在寻找但在您的情况下找不到的文件。
当然,你可以直接把5.0
的脚本复制到6.0
的bin
目录下,同样可以.并且由于您已经设置了包含 C:\javacc-6.0\bin
的路径,因此您可以像以前尝试过的那样运行它,而无需关闭命令提示符窗口甚至重新启动整个计算机!
编辑 - 新链接
不幸的是,上面的链接不再有效,幸好内容已移至github .这里是新链接:
项目网址:https://javacc.org/
github上的项目地址:https://javacc.github.io/javacc/
关于java - 设置 javacc 以使用命令提示符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18674474/
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于 Stack Overflow 来说是偏离主题的,因为
我是第一次使用 JavaCC,我注意到它生成了大量死代码。有很多行看起来像(请原谅间距,它是自动的): {if ("" != null) return result;} throw new E
在 JavaCC 中,如何定义由重复字符组成的标记,如下例所示: "..." what would correspond to TOKEN : { TripleDot : "..." } 或 "::"
根据JavaCC documentation ,如果我想自定义词法分析器中错误给出的消息: To customize error reporting by the lexer, the lexer c
我正在尝试创建一个包含所有函数名称的映射。我可以在扫描阶段或解析阶段执行此操作,但似乎无法获得两者都可以访问的相同变量。 我需要的是在开始解析之前将所有函数名称保存在映射中,因为函数可以在其调用点下方
我有以下javacc语法。 规则UnaryExpr创建了一些实现java.util.function.Predicate<>的匿名类。 options { static=false; DEBUG_PA
如果可能,我的 void decleration() 应该根据图像解析字符串输入。 SKIP : { | | } TOKEN : { } TOKEN : { } TOKEN : /* KEYW
我目前正在为我的语法开发一个解析器。我的目标是在没有前瞻的情况下实现它,而这正是我真正正在努力解决的问题。 这是一个缩小的示例,我相信它足以证明我遇到的问题。 void main() : {} {
我使用这个语法来计算数学表达式: // Konfiguration (JavaCC-Manual konsultieren) options { STATIC = true; // a
我们正在使用 javacc 实现一个版本的乱码来构建我们的抽象语法树。我们有许多用 java 实现的类,由我们的 Parser.jj 程序调用。但是,Parser.jj 无法识别任何已实现的类,即使它
我正在尝试为这样的源代码创建一个解析器: [code table 1.0] code table code_table_name id = 500 desc = "my code ta
我的语法如下: PARSER_BEGIN(Parser) package parser; public class Parser {} PARSER_END(Parser) SKIP:
我正在尝试使用 javacc 创建一阶逻辑解析器,但遇到以下问题。 我有这个: ()* > 哪里 | | | ) > ,但我想从中排除一些词。特别是我想排除单词 sum、count、a
我需要使用 javaCC 来解析数据文件,例如: //This is comment to skip //This is also comment to skip //student Table Be
我是 JavaCC 的新手,无法弄清楚如何让它运行。我使用的是 Mac OS X,我安装了 javacc-6.0.zip 并解压了它。在键入 javacc 时,我无法从我的路径访问 javacc 脚本
我有一个语法,我必须使用 JJTree 和 JavaCC 来创建一个符号表和一个 AST。虽然我完全理解创建表和树的作业部分,但给我的语法含糊不清,包含左递归和间接左递归。它也需要留下因素。我在整个互
在我的语法中,有最初包含间接左递归的表达式和片段的产生规则。这是我删除了递归之后的规则。 String expression() #Expression : {String number; Token
匹配 任何内容 的正则表达式是什么,除了这些字符串: =>, | ? 如果您熟悉 javacc,我正在尝试定义我的 ANYTHING 标记,如下所示: TOKEN : { " > | | |
所以我是 JavaCC 的初学者,我只想在没有重复项的情况下接受这个字符串。因此,如果输入如下: A B C A' B' C' A'' B'' C'' 只有当`B != B' != B''时解析器才会
我已经为此困惑了好几天,搜索似乎没有给出任何结果。让我想知道这是否可能。例如: funct functionNAME (Object o) { o+1 }; 重点是用户必须在大括号内使用标识符“o”,
我是一名优秀的程序员,十分优秀!