我确信有一种标准的方法可以做到这一点,但我什至不知道从哪里开始搜索它。
我如何以任何语言识别结构(语法),例如:
Exp ::= Number |(Exp) | Exp + Exp
Number ::= Number Digit | Digit
Digit ::= 0 | ... | 9
我的意思是,给定一个类似 的字符串32 + (43 + 23)
,我如何判断它是否合法?有没有标准算法之类的?我不知道要搜索什么,所以我也无法搜索这个网站。
我确信有一种标准的方法可以做到这一点,但我什至不知道从哪里开始搜索它。
我如何以任何语言识别结构(语法),例如:
Exp ::= Number |(Exp) | Exp + Exp
Number ::= Number Digit | Digit
Digit ::= 0 | ... | 9
我的意思是,给定一个类似 的字符串32 + (43 + 23)
,我如何判断它是否合法?有没有标准算法之类的?我不知道要搜索什么,所以我也无法搜索这个网站。