Go имеет стабильный API компилятора? - PullRequest
0 голосов
/ 04 февраля 2019

Есть ли у Go стабильный API компилятора?То есть предположим, что вы хотите:

  1. Разобрать код Go в промежуточный формат
  2. Сделать что-то (например, анализ или оптимизацию) с кодом
  3. Создать двоичный файлкак обычно

, и вы хотели бы использовать существующую реализацию компилятора для шагов 1 и 3, возможно ли это?

Чтобы пояснить, что я имею в виду: C ++ имеет API-интерфейс компилятораСпасибо Clang / LLVM, но не стабильному (Clang / LLVM регулярно нарушает обратную совместимость API или проверял последний раз), так что я ищу именно такую ​​вещь, но, надеюсь, стабильную.

1 Ответ

0 голосов
/ 04 февраля 2019

Как сказал @icza в комментарии, вы можете использовать для этого пакеты go/... из стандартной библиотеки.

Стандартная библиотека подпадает под гарантию Go 1 (APIстабильность).

Эти пакеты могут видеть дополнения и исправления ошибок в своих API, но не вносить изменений, если основная версия Go остается 1.

Прочитайте гарантийный документ для получения дополнительной информации и крайних случаев.

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