0
我有這些正則表達式:如何創建一個生成匹配此正則表達式的字符串的方法?
M := (M)
M := n
這些表達式可以產生字符串,例如:((((N))))中,n,(n)的等
我必須創建一個方法可以檢查一個字符串是語法的一部分,它不一定必須是一個代碼,它更像步驟你開始編碼
class Sintax {
Lexic l = new Lexic();
int p = 0;
void M(){
if(lexicalSImbol == 'n')
{
if(p != 0)
checkParentesis();
else
checkEndOfString();
}
else if(lexicalSimbol == '(')
{
p++;
M();
}
else
error();
}
void checkParentesis(){
int i = 1;
while(i <= p)
{
if(l.nextSimbol() == ')')
i++;
else
error();
}
}
}
之前,但我不知道如果方法能夠傳遞語法可以產生的所有字符串,或者如果我可以改變它在某種程度上使它更有效率。
爲您的方法創建單元測試,並確保它生成預期結果。 – 2014-08-31 17:39:46
看起來更像是一個語法而不是正則表達式。 – 2014-08-31 17:47:39
另外,從理論上來說,這已經有一段時間了,但看起來沒有上下文,並不經常。 – chrylis 2014-08-31 18:06:59