1

我试图弄清楚如何提取给定语法表达式的不同参数。一个语法规则可能如下所示:

s( X, Y(X,-), T(Y(X,-),X,X) ) 

首先,我想提取前导字符串,在这种情况下s,然后我想逐步遍历所有参数,在这种情况下XY(X,-), T(Y(X,-),X,X)。也有可能我根本没有参数,只是s作为一项规则。

在原始语法中,这样的表达式可能有任意数量的参数,而这些参数本身也可能有参数。

目前我得到以下代码:

Scanner sc = new Scanner(Rule);
String next = new String();


sc.useDelimiter("\\(");
next = sc.next();
//...Do something...//

sc.useDelimiter("");   
if(sc.hasNext()){   //Check if there are parameters
    sc.useDelimiter("\\)"); //Which delimiter should I use?
    while(sc.hasNext()){
       next = sc.next();
       //...Do something...//
    }
} else {
    return next;
}

我不知道应该使用哪个分隔符来获取有关示例的参数,例如X, 。Y(X,-)T(Y(X,-),X,X)

4

0 回答 0