为以下语言提供上下文无关语法。
(a) {a^mb^nc^n | m ≥ 0 and n ≥ 0 }
(b) {a^nb^nc^m | m ≥ 0 and n ≥ 0 }
如果涉及到任何其他规则,例如 m = n 或类似的东西,我可以得到它,但一般 m 大于或等于零?我很困惑。而且我不明白 a 和 b 会有什么不同。这是我从中制作语法的机会:
S1 --> S2 | e
S2 --> aS2bS2c | S3
S3 --> aS3 | S4
S4 --> bS4 | S5
S5 --> cS5 | c