当我使用JAVA解析器生成器CUP时,我遇到了一些问题,我不知道为什么,有人可以帮助我吗?
这是杯子文件:
RewriteEngine On
# external redirect from actual URL to pretty one
RewriteCond %{THE_REQUEST} \s/+content\.php\?idf=([^\s&]+)&link=([^\s&]+) [NC]
RewriteRule ^ /%1/%2? [R=302,L,NE]
# internal forward from pretty URL to actual one
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^([\w-]+)/(.+)$ content.php?idf=$1&link=$2 [B,L,QSA]
当解析" const aaa = [" a"," b"," c"]"时,输出是:
explicit_value b
explicit_value c
explicit_value c
答案 0 :(得分:0)
我发现它是CUP错误,我将我的代码更改为bison。
%{
import java.io.*;
%}
%pure_parser
%error_verbose
%token FCONST;
%token IDENTIFIER;
%token STRING_DEFINITION;
%token ASSIGN;
%token OPEN_SQUARE_BRACKET;
%token CLOSE_SQUARE_BRACKET;
%token SPLIT;
%%
program: FCONST IDENTIFIER ASSIGN explicit_value
;
explicit_value :
OPEN_SQUARE_BRACKET const_array_list_value CLOSE_SQUARE_BRACKET
|
STRING_DEFINITION
{
System.out.printf("explicit_value %s \n", ((ParserVal)($1)).sval);
}
;
const_array_list_value :
explicit_value
|
const_array_list_value explicit_value
;