mps 예제

마스터 프로덕션 일정의 개념은 예제를 통해 가장 잘 설명할 수 있습니다. 우리가 고려하는 예제의 데이터는 다음과 같습니다. 이 자습서에서는 MPS의 언어 디자인 의 많은 영역을 안내합니다. 간단한 독립 실행형 언어의 추상 구조를 정의하고, 편집기를 디자인하고, 형식, 범위를 제한하고, 마지막으로 Java 코드를 생성하는 생성기를 준비합니다. MPS에 대한 사전 노출에 따라 자습서를 완료하는 데 하루 정도 가까스로 필요할 수 있습니다. 이 자습서는 주로 MPS를 평가해야 하고 맨뼈 이상의 예제이상을 보고 자하는 언어 디자이너를 대상으로 합니다. Java에 대한 기본 지식은 생성기를 보다 쉽게 완료하는 데 도움이 됩니다. 특히 Java 프로그래밍에 정통하지 않은 경우 생성기를 빌드하는 과정에서 현재 또는 나중에이 질문을 할 수 있습니다. 이 자습서는 최소한의 노력으로 기능 응용 프로그램을 갖는 것에 대한 빠른 보상을 제공하는 동기 부여 예제로 만들어지지 않았다는 것을 기억하십시오. 그 목적은 기본 기계를 더 잘 이해할 수 있도록 광범위한 핵심 원칙에 노출하는 것입니다.

MPS에서 언어를 실현하는 언어 구현자는 Java가 MPS에서 코드 생성의 가장 빈번한 대상이기 때문에 MPS 생성기와 Java를 이해해야 합니다. 우리는 당신에게 세 가지 조언을 제공 할 수 있습니다 : 가방을 판매하는 가죽 작업장에 대한 마스터 생산 예를 통해 가자. 초기 화면에서 선택한 사항과 관련하여 패키지에 입력된 예제의 데이터는 다음과 같습니다. 우리는 매주 근무 시간을 직원들과 다루고 있습니다. 각 제품의 한 단위를 생산하는 데 2 시간의 직원이 필요하며 초기 직원 수는 10입니다. 계획 기간이 시작될 때 초기 인벤토리가 없습니다(예약 주문도 없음). 우리는 더 이름으로 우리의 계산기를 참조해야합니다. 내부에 속성 이름을 만들 수 있습니다. 그러나 더 나은 방법 (그리고 권장되는 관행)이 있습니다. 우리는 우리의 개념INamedConcept 인터페이스를 구현 할 수 있도록해야합니다. 이 개념 인터페이스에는 하나의 속성(이름)만 포함됩니다.

MPS IDE는 이 인터페이스에 대해 알고 있으며 이를 구현하는 개념에 대한 고급 지원을 허용합니다. 예를 들어 INamedConcept s에 대한 참조를 만들려면 해당 이름이 완료 메뉴에 표시됩니다. 또는 프로젝트 보기에서 노드를 탐색할 때 트리에 INamedConcepts의 이름이 표시됩니다. 급여로 $500 보너스를 받는다고 가정해 보세요. 당신은 갑자기 $500 당신이 전에 했던 것 보다 더 많은 소득. 새로운 비즈니스 소송에 이 한계 증가액의 400달러를 지출하고 나머지 $100를 저축하기로 결정한 경우, 저축할 수 있는 한계 성향은 0.2($100 의 저축 액수 변경액을 $500 소득 변경으로 나눈 값)입니다. 저축하는 한계 성향의 다른 측면은 소비하는 한계 성향이며, 이는 소득의 변화가 구매 수준에 얼마나 영향을 미치는지 보여줍니다. 소비하는 한계 성향 + 1을 저장하는 한계 성향. 이 예에서는 $500 보너스 중 400달러를 지출한 경우 소비하는 한계 성향은 0.8($400를 $500로 나눈 값)입니다.