СГ
Сергей Грушин
Промежуточный код - это что-то вроде макроассемблера, заточенного под некую софтварную платформу, вроде JVM или .net. Он содержит команды этой платформы, "отвязанные" от конкретной "железной" платформы и ОС, что позволяет запускать его на разных платформах.
А внутреннее представление - это, по-видимому, уже с привязкой к платформе. То есть промежуточный код + софтварная платформа в связке. Хотя насчет этого не уверен. Кстати, софтварная платформа может сидеть на другой (полу-)софтварной платформе, например JVM на POSIX. Что в этом случае является внутренним представлением - вообще большой вопрос.