ドキュメントで説明されているこの種の文法があります。
grammar
=
| ['()'] ['$'] {'#' &'#'} '#'
| ['()'] {'#' &'#'} '#%'
| ['()'] ['$'] {'0' &'0'} '0'
| ['()'] {'0' &'0%'} '0%'
| ['()'] ['$'] {'#' &'0'} {'0' &'0'} '0'
;
文字列を解析しようとしたときに次の結果が得られるように、文法を正しく記述する方法:
文字列の場合、True'######'の結果が得られ(['#', '#', '#', '#', '#'], '#')ます (最初のルールが機能します) 。
文字列の場合'#####%'、結果(['#', '#', '#', '#'], '#')は False になるはずです(['#', '#', '#', '#'], '#%')(最初に機能しましたが、2 番目のルールである必要がありました)。
文字列の場合、True'000000'という結果が得られ(['0', '0', '0', '0', '0'], '0')ます (3 番目のルールが機能します) 。
文字列の場合、False'###000'という結果が得られます(最初に機能しましたが、5 番目のルールである必要がありました)。(['#', '#'], '#')
ドキュメントに記載されているルールはばかげていますか、それとも何か間違っていますか?