【发布时间】:2015-06-25 12:27:12
【问题描述】:
我是使用 JavaCC 的新手。我试图为我们公司定义的语言集成编辑器。我需要更改关键字并修改语法。我关注this link 作为一个程序。为了测试,我从代码链接中更改了以下几行。 我用 require 更改关键字 finally。我在代码中更改了以下几行。
JavaParserConstants.java
int FALSE = 25;
/** RegularExpression Id. */
int FINAL = 26;
/** RegularExpression Id. */
//int FINALLY = 27;
int REQUIRE=27;
/** RegularExpression Id. */
int FLOAT = 28;
/** RegularExpression Id. */
*
*
String[] tokenImage = {
*
"\"false\"",
"\"final\"",
"\"require\"",//fınally
"\"float\"",
SJLanguageHierarchy.java
private static void init() {
tokens = Arrays.<SJTokenId>asList(new SJTokenId[]{
*
*
new SJTokenId("FALSE", "keyword", 25),
new SJTokenId("FINAL", "keyword", 26),
new SJTokenId("REQUIRE"/*"FINALLY"*/, "keyword", 27),
new SJTokenId("FLOAT", "keyword", 28)
Java1.5.jj
/* RESERVED WORDS AND LITERALS */
TOKEN :
{
*
*
| < FALSE: "false" >
| < FINAL: "final" >
| < REQUIRE: "require" >
| < FLOAT: "float" >
但是当我使用新的集成“编辑器”时它仍然没有影响它突出显示旧语法,包括关键字 finally。任何建议或建议将不胜感激。
【问题讨论】:
-
为什么要修改生成的JavaParserConstants.java文件?
-
我想根据我的公司语言更改语法。
-
但这是一个生成的文件,只有在你下次运行 javacc 时才会被覆盖。请参阅engr.mun.ca/~theo/JavaCC-FAQ 中的常见问题解答 2.2。此外,由于您修改了 Java1.5.jj 文件,因此不需要您对 JavaParserConstants.java 所做的更改。那么下一个问题:修改了.jj文件后,有没有运行JavaCC重新生成.java文件?
-
不错的收获可能就是我的错误!
标签: java netbeans editor lexer javacc