메타 프로그래밍이란 무엇입니까?
메타 프로그래밍은 컴퓨터 프로그램을 작성하여 다른 프로그램을 작성하는 프로세스입니다. 메타 프로그래밍 프로세스는 일반적으로 런타임 기간 동안 수행되는 작업이 컴파일 기간에 할당되므로 컴퓨터 프로그래머에게 더 큰 유연성을 제공합니다. 이 프로세스는 프로그래머가 프로그램 코드를 수동으로 작성하는 데 걸리는 시간을 줄여 다른 작업에 집중할 수있는 시간을 확보합니다. 메타 프로그래밍을 통해 프로그램이 새로운 상황을보다 효율적으로 처리 할 수 있으므로 재 컴파일이 필요하지 않습니다. "대중 언어"는 메타 프로그램이 사용하는 컴퓨터 언어에 지정된 용어입니다.
객체 언어는 메타 프로그래밍 프로세스로 작성된 프로그램의 컴퓨터 언어입니다. 반사성은 금속 언어 (metalanguage)에 주어진 용어로 메타 프로그래밍을 야기 할 수 있습니다. 메타 프로그래밍은 다양한 방식으로 작동합니다. 한 가지 방법은 응용 프로그래밍 인터페이스가 프로그래밍 코드가 런타임 엔진 내부에 액세스 할 수 있도록하는 것입니다.
메타 프로그래밍이 작동하는 또 다른 방법은 프로그램이 동적 실행 프로세스를 통해 다른 프로그램을 작성할 수있게하는 것입니다. 이 경우 문자열 표현식이이 프로세스에서 사용됩니다. 이 두 프로세스에서 동일한 언어를 사용할 수 있지만 언어가 한 프로세스를 다른 프로세스보다 선호하는 것은 드문 일이 아닙니다.
메타 프로그래밍은 언어를 우회하여 작동합니다. 프로그램 변환 시스템을 통해 언어를 변경할 수 있습니다. 이 절차는 메타 프로그래밍이 언어에 메타 프로그래밍 특성을 사용하지 않더라도 언어를 자유롭게 사용할 수 있도록합니다.
메타 프로그래밍에는 소스 코드가 필요하지 않습니다. 증분 컴파일 또는 런타임 변경 가능 프로그램으로 수행 할 수 있습니다. 컴퓨터 langaugae Lisp는 메타 프로그래밍 과정에서 선호되는 언어입니다. 이것은 이러한 유형의 컴퓨터 언어가 단순하고 강력하기 때문입니다.
Lisp 언어를 사용하는 메타 프로그래밍은 런타임 기간과 달리 프로그램 정의 기간 동안 코드를 평가할 수있게합니다. 이 프로세스는 메타 프로그래밍 언어와 호스트 프로그래밍 언어를 동일하게 만듭니다. 이러한 상황이 발생하면이 Lisp 루틴을 메타 프로그래밍 프로세스를 위해 재활용 할 수 있습니다.
다른 언어는이 정확한 프로세스를 프로그램 인터프리터 통합과 함께 사용했습니다. 이 인터프리터는 프로그램의 데이터로 작업합니다. 메타 프로그래밍의 도메인 별 프로그래밍 언어는 파서와 어휘 분석기를 만드는 또 다른 형식입니다. 이를 통해 사용자는 정규식을 사용하여 언어를 정의 할 수 있습니다.