问题是:
一种。编写一个名为的直接递归 EBNF 规则mp,该规则描述具有匹配括号的所有符号:()、()()()、()(()())和((())())(()(()))(). 它不应该承认(, ())(, 或(()()合法。
湾。写一个表格证明及其推导树,显示如何()(()())被认为是合法的。
到目前为止,我已经想到了一个合理的解决方案。我不确定它是否正确,或者我是否遗漏了什么。
<mp> ::= "" | ( <mp> "(" <mp> ")" )
有什么建议么?