فاز بندی کامپایلرها که در پشت زمینه به محدودیتهای منابع سختافزاری وابستهاست. در نتیجه کامپایلرها به مجموعه برنامههای کوچکتر تقسیم میشوند هر یک بخشی از عمل ترجمه یا آنالیز را برعهده میگیرند. کامپایل تک فازی به نظر مفید میآید، چراکه سریعتر است.
زبان پاسکال از این امکان استفاده میکند. اما مشکل اینجا است که اگر اعلان جلوتر از دستور به کارگیری باشد، چه کار باید کرد؟
برای حل این مشکل میتوان در فاز اول اعلانها را مشخص کرد و در فاز بعد عمل ترجمه را انجام داد. عیب دیگر کامپایلر تک فازی دشواری بهینه سازی کدهای زبان سطح بالا میباشد. همگردان یکگذره (One-Pass Compiler) کامپایلری است که برای تولید کد ماشین، تنها یک مرتبه متن برنامه را میخواند. دستور برخی زبانها به گونهای است که تولید همگردان یکگذره برای آنها غیر ممکن است.
مجموعه همگردانهای گنو یا Gnu complier colection یا به صورت مخفف GCC مجموعهای از همگردانهای آزاد برای زبانهای برنامه نویسی است. تقسم بندی کامپایلرها به برنامههای کوچکتر تکنیکی است که همچنان مورد بحث محققان است. در این نوع دسته بندی کامپایلرها، انواع دیگری نیز وجود دارد:
کامپایلر مبدا به مبدا که کدی با زبان سطح بالا را دریافت میکند و خروجی آن نیز زبان سطح بالا میباشد.
کامپایلر Stage که به زبان اسمبلی برای ماشین نظری ترجمه میکند.
کامپایلر زمان اجرا، برای سیستمهای Smalltalk، Java و زبانهای میانه (CIL) در محصولات. NET استفاده میشود.