젯브레인즈 MPS

젯브레인즈 MPS(JetBrains MPS)는 젯브레인즈에서 개발한 메타프로그래밍 시스템(Meta Programming System)이다. MPS는 독자적인 언어를 만들고, 해당 언어로 소프트웨어를 개발하는 데 사용된다.

MPS의 주요 특징은 다음과 같다.

 언어 개발 환경: MPS는 적인 언어 개발 환경을 제공하여 사용자가 원하는 언어를 정의하고 구축할 수 있다. 이렇게 생성된 언어는 기존 언어의 확장이나 새로운 도메인 특화 언어(DSL)로 사용헐 수 있다.
 동적 언어 제작: MPS는 동적 언어를 제작할 수 있는 기능을 제공한다. 사용자는 언어의 문법, 타입 시스템 및 동작 규칙을 정의하여 동적 언어를 생성할 수 있다.
 코드 생성 및 편집기: MPS는 생성된 언어에 대한 코드 생성 및 편집기를 자동으로 생성한다. 이를 통해 사용자는 생성된 언어로 코드를 작성하고 편집할 수 있으며, 문법에 맞게 자동 완성, 오류 검사 등의 기능을 이용할 수 있다.
 모델 기반 접근: MPS는 모델 기반 접근 방식을 채택하여 소프트웨어를 개발한다. 이는 소프트웨어를 모델의 집합으로 표현하고, 모델 간의 관계와 제약 조건을 정의하여 개발하는 방식이다.
 다양한 플랫폼 지원: MPS는 다양한 플랫폼에서 사용될 수 있다. Java, C#, JavaScript 등의 언어와 통합하여 사용할 수 있으며, 특정 도메인에 특화된 언어를 개발할 수도 있다.

MPS는 소프트웨어 개발자와 도메인 전문가들이 독자적인 언어를 개발하고 사용할 수 있는 도구이다. 이를 통해 소프트웨어 개발 과정을 더욱 유연하고 생산적으로 만들 수 있다.

외부 링크 
 
 MPS blog
 MPS User's Guide

프로그래밍 언어 구현