Согласно в этой статье gcc использует несколько промежуточных форматов перед генерацией кода. Я читал, что в формате GIMPLE используется трехадресный код, который кажется самым простым в использовании промежуточным языком. Но мне нужны более подробные сведения, так как мне нужно создать инструмент, который может взять промежуточный код и вставить в него некоторый код перед генерацией окончательного кода.
Для этого мне сначала нужно знать, как я могу даже сгенерировать код формата GIMPLE и сохранить его в файл. Я ищу документы и примеры. Кроме того, если кто-то работал с такими вещами, могу ли я узнать сложность этой задачи, заключающейся в вставке некоторого кода в промежуточный код?