Как правильно решить эту проблему в ANTLR:
У меня есть простое правило грамматики, скажем, для списка с произвольным числом элементов.
list
: '[]'
| '[' value (COMMA value)* ']'
Если я хотел назначить возвращаемое значение для списка, и было ли это значение фактическим списком возвращаемых значений из производства, каков правильный способ сделать это? Альтернативы, которыми я занимаюсь:
- создать свой собственный стек в глобальной области видимости, чтобы отслеживать эти списки
- Попытайтесь осмотреть узлы дерева подо мной и извлечь информацию таким образом
- Получите доступ к нему некоторым приятным и классным способом, который я надеюсь выяснить, в котором я могу получить легкий доступ к такому списку в рамках действия, связанного с правилом.
Наверное, вопрос в том, как это делают классные дети?
(К вашему сведению, я использую Python API для ANTLR, но если вы нажмете меня на другом языке, я справлюсь с этим)