То, что Objective-C синтаксис является расширением синтаксиса C, не означает, что он не может иметь свой собственный компилятор. C ++ работает аналогично - его синтаксис совместим с C (по большей части, во всяком случае), но у него есть собственный набор инструментов. Компиляторы для C, C ++ и Objective-C могут повторно использовать части друг друга для предварительной обработки, синтаксического анализа и генерации кода, но нет необходимости запускать их последовательно (например, Objective-C ==> C ==> Target code). Компиляторы больше не работают на понятном человеку языке ассемблера (это также имело место в течение очень долгого времени).