Ох елки, эта тема уже немного так подустарела... Ну вобщем, компиляторов AS кода существует так:
Флешевый компилятор (у него нет какого-то определенного имени, есть asc_authoring.jar, но это непосредственно код AS, это не линкер и не транскодер).
ASC - из Flex SDK - это то же самое, что и asc_authoring.jar, даже правильнее сказать - asc_authoring.jar - это кастомный билд ASC.
MXMLC - из Flex SDK - это все вместе, и линкер и декодеры и препроцессор MXML и т.п.
COMPC - из Flex SDK - практически то же самое, что и MXMLC, но создает SWC (библиотеки с прекомпилированым кодом, ресурсами и прочими дополнительными файлами).
Компиляторы из SDK традиционно принято называть указывая версию SDK, т.е. на сколько я знаю, первых версий MXMLC / COMPC не существует, или, даже если такие и есть, то это какие-то экспериментальные вещи. Практически второй версией тоже никто не пользуется. Т.е. как правило вы можете столкнуться с кодом для третей и четвертой версий.
Флешевый компилятор традиционно наименее строгий. Во флесковых хуже работа с ресурсами, но больше других полезных фишек, типа условной компиляции, настраиваемых предупреждений, использование в автоматизированых процессах и т.п.
Есть еще несколько програм которые в той или иной степени могут компилировать флешевый байткод, HaXe компилятор, например. Кроме этого есть еще много програм, которые умеют экспортировать графику во флешевый формат. По сути большинство векторных графических редакторов это могут в той или иной степени + есть специфически рассчитаные именно на SWF, SWFTools, SWFMill, SamHaXe, HXswfML.
Что до ОО модели - компиляторы такими вещами не занимаются

это вообще на усмотрение разработчика. Строго говоря ECMA стандарт, который в большей части был принят за основу AS3 вообще не обязывает писать в классах и т.п. Технически флексовые компиляторы поддерживают и "безклассовый" код, но так просто никто не пишет потому что не удобно.