Могу ли я использовать преобразования AST в Groovy для расширения его синтаксиса? - PullRequest
1 голос
/ 20 марта 2009

Я видел примеры того, как вы можете использовать преобразования Groovy AST для расширения языка, например, войти до и после вызова метода, как показано здесь . Однако можно ли будет использовать эту платформу для расширения синтаксиса самого языка? Например, что если бы я хотел иметь возможность анализировать и преобразовывать следующее в AST, а затем генерировать набор операторов:

newClassKeyword C { /* something here */ }

Ответы [ 2 ]

2 голосов
/ 23 марта 2009

Я не эксперт по Groovy, но я смотрю на некоторые из новых фреймворков, выпущенных в версии 1.6, и меня особенно интересует Спок . Вероятно, это именно то, что вам нужно, поскольку они используют преобразования AST для определения всего языка спецификации для тестирования.

Я забыл добавить, что в InfoQ есть статья , в которой описываются новые возможности Groovy 1.6. Гийом Лафорж написал статью, и в ней он немного рассказывает об AST.

1 голос
/ 31 марта 2009

Вы не можете расширить синтаксис Groovy с помощью преобразований AST, но вы можете дать совершенно новую семантику существующему синтаксису. Так как синтаксис Groovy достаточно гибкий, это может дать вам довольно далеко.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...