语法规则的分隔符

时间:2012-11-08 22:00:44

标签: java grammar delimiter

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

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

首先,我想提取前导字符串,在本例中为s,然后我想逐步完成所有参数,在这种情况下XY(X,-),{{1} }。我也可能根本没有参数,只是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; } XY(X,-)

0 个答案:

没有答案