У меня есть 3 объекта:
- Parser
- ParserState - конечный автомат, который отслеживает текущее состояние и переходы между состояниями
- ParserDefinitions - он читает из файла json и предоставляет регулярные выражения заданного состояния, а также некоторые другие правила, управляющие работой синтаксического анализатора
ParserState и ParserDefinitions являются подклассами (?) Parser и определяются как Parser :: ParserState и Parser :: ParserDefinitions. Было бы здорово, если бы объект ParserState мог иметь доступ к текущему экземпляру ParserDefinitions и наоборот. Возможно ли это, или это означает, что они должны быть объединены в один класс?
Кстати, я использую Ruby, поэтому, если возможно, что они обмениваются информацией об экземплярах между ними, было бы здорово, если бы можно было использовать код Ruby.