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