Я изучаю контекстно-свободные грамматики и до сих пор понимаю их, но эта проблема заставляет меня кружиться голова.
У меня есть следующие правила:
S --> aSb | bB | epsilon
B --> bbB | bB | epsilon
И я почти уверен, что они неверны. Я понимаю, как бы я сделал просто i ‹= j вместо реального языка, но идея сделать j ‹= 3i мне действительно трудно понять, и я действительно не понимаю, как я должен представить это в CFG.
Я читал здесь несколько вопросов и тем о разработке CFG, но они не очень помогли мне со стратегией для определения ответа.
Заранее спасибо за вашу помощь!