小编Jes*_*aro的帖子

Java - 从两个java.nio.Path创建相对java.nio.Path

我有一个java.nio.Path指向绝对路径:

/home/user/project/resources/configuration.xml
Run Code Online (Sandbox Code Playgroud)

我有第二个java.nio.Path指向项目的根目录,也是一个绝对路径:

/home/user/project
Run Code Online (Sandbox Code Playgroud)

现在是否可以创建一个java.nio.Path保存两者之间的相对路径:

resources/configuration.xml
Run Code Online (Sandbox Code Playgroud)

java filepath

5
推荐指数
1
解决办法
164
查看次数

antlr4 - 任何文字和关键字

我试图解析以下内容:

SELECT name-of-key[random text]
Run Code Online (Sandbox Code Playgroud)

这是我想要构建的更大语法的一部分.为了清楚起见,我把它留下了.

我想出了以下规则:

select      : 'select' NAME '[' anything ']'
            ;
anything    : (ANYTHING | NAME)+
            ;

NAME        : ('a'..'z' | 'A'..'Z' | '0'..'9' | '-' | '_')+
            ;
ANYTHING    : (~(']' | '['))+
            ;
WHITESPACE  : ('\t' | ' ' | '\r' | '\n')+ -> skip
            ;
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.例如,输入SELECT a[hello world!]提供以下错误:

line 1:0 mismatched input 'SELECT a' expecting 'SELECT'
Run Code Online (Sandbox Code Playgroud)

这是错误的,因为输入SELECT a被识别ANYTHING,而不是select.我该如何解决这个问题?我觉得我在这里遗漏了一些概念,但很难开始.

java antlr antlr4

2
推荐指数
1
解决办法
1318
查看次数

标签 统计

java ×2

antlr ×1

antlr4 ×1

filepath ×1