컴파일러는 특별한 프로그램이는 프로세스 문서 작성에는 특별한 프로그래밍 언어로 기계의 언어 또는”코드는”컴퓨터의 프로세서를 사용합니다. 일반적으로 프로그래머는 편집기를 사용하여 한 번에 한 줄 씩 pascal 또는 C 와 같은 언어로 언어 문을 작성합니다. 생성되는 파일에는 소스 명령문이라고 하는 내용이 포함됩니다. 그런 다음 프로그래머는 적절한 언어 컴파일러를 실행하여 소스 문이 포함 된 파일의 이름을 지정합니다.
실행하는 경우(달),컴파일러는 먼저 분석(또는)모든 언어의 문장 구문적으로 다른 후 하나를 다음 중 하나 이상에서 연속적인 단계 또는”통과”,빌드를 출력 코드는 것을 확인하고,문장 참조하는 다른 문이라고 올바르게 마지막에 코드입니다. 전통적으로 컴파일의 출력은 객체 코드 또는 때로는 객체 모듈이라고합니다. (여기서”객체”라는 용어는 객체 지향 프로그래밍과 관련이 없다는 점에 유의하십시오.)객체 코드는 프로세서가 한 번에 하나의 명령어를 실행할 수있는 기계 코드입니다.
Java 프로그래밍 언어,언어에서 사용되는 객체-지향 프로그래밍 도입의 가능성을 컴파일 출력(바이트코드 라는)실행할 수 있는 모든 컴퓨터에서 시스템을 위한 플랫폼는 Java 가상 머신이나 바이트코드 인터프리터가 제공됩 변환하는 바이트 코드로는 지침에 의해 실행될 수 있는 실제 하드웨어 프로세서입니다. 이 가상 컴퓨터를 사용하여 바이트 코드를 선택적으로 just-in-time 컴파일러에 의해 실행 플랫폼에서 다시 컴파일 할 수 있습니다. (참조: Java compiler)
전통적으로 일부 운영 체제에서는 추가적인 단계가 필요했 후 컴파일-의 해결하의 상대적인 위치 지침과 데이터를 때 하나 이상의 객체에 모듈을 동시에 실행하고 그들은 십자가라고 각각의 다른 지시 시퀀스는 데이터입니다. 이 프로세스는 때때로 연계 편집이라고하며 출력은로드 모듈로 알려져 있습니다.
컴파일러는 때때로 3gl 및 상위 레벨 언어라고 불리는 것을 사용합니다. 어셈블러는 프로세서의 어셈블러 언어를 사용하여 작성된 프로그램에서 작동합니다.