문제

할 수 없었 DSL 것으로 간단 API 므로 필요하지 않습 parser?또는 나는 오해 무엇을 도메인 특정 언어로 정말입니까?나는 생각이라고는 모든 조직의 규칙 해결하기 위한 특정 도메인 문제입니다.API 것에 맞는 정의,right?

도움이 되었습니까?

해결책

보다 일반적인 프로그래밍 언어에 DSL을 포함시킬 수 있습니다. 이것은 종종 좋은 해결책입니다. (이 DSL은 특정 API의 형태를 취한다고 말할 수 있습니다.)

자체 통역사와 함께 별도의 언어를 만들어 도메인의 개념을 나타낼 수도 있습니다. 이것은 더 큰 사업을하는 경향이 있으며 종종 필요하지 않습니다.

다른 팁

개념을 구현과 혼동하고 있습니다. 도메인 별 언어는 일반적으로 문제 해결에 대한 일반적인 언어가 아니라 문제 영역에 "가까운"것으로 간주되는 아이디어를 나타내는 것입니다.

예, DSL은 API로 구현 될 수 있으며, 문제 도메인의 특정 개념을 참조하는 기능을 제공했지만 DSL은 텍스트 파일로 표시 될 때 동일하게 유효합니다.

실용적인 프로그래머 : Journeyman에서 마스터까지 DSL에 대한 좋은 설명과 예제와 함께 유용한 상황이 포함되어 있습니다. 추천.

당신은 여전히 유일한 의미의 호스트 언어입니다.

E.g.:프로그래밍에 필수적 언어로 작동하지 않습니다.그래서 당신은 기능 DSL 이 필수적이다.

예, 절대적으로 - a 단지 호스트 언어가 그것을 지원하기에 충분한 유연성을 가지고 있다면 API는 DSL로 잘 수행됩니다.

루비는 특히 선택적인 파렌 및 기타 유연성을 고려할 때 그러한 언어에 매우 좋은 언어입니다.

  • Rails는 종종 데이터베이스 중심 웹 응용 프로그램을 작성하기위한 DSL이라고합니다.

  • Rake는 작문을위한 DSL (더 똑똑한) MakeFiles가있는 빌드 시스템입니다.

내것의 oofile C ++에서 데이터베이스 애플리케이션을 작성하기위한 DSL로 간주 할 수있는 프레임 워크입니다. DBase에서 영감을 받았으며 C ++ 운영자 과부하, 로컬 객체 및 스트림 관용구를 매우 많이 사용합니다.

Forth는 DSL과 API 사이의 선을 흐리게하는 언어로, Forth 프로그램으로서 일련의 공간 분리 단어 이상으로 구성되어 있습니다. 아마도 Forth DSL의 가장 인상적인 예는 아마도 풍부 - Abundance는 BBL로 작성된 Forth Business Programming Language입니다. BBL은 32 비트 DOS 출신 컴파일러입니다. 그대로 배포됩니다. 경고를 참조하십시오. 이것은 희미한 마음을위한 것이 아닙니다. 이전 Klunker XT 및 컴퓨터에서 빠른 실행이 필요한 제 3 세계를위한 소프트웨어를 개발하는 사람에게 주로 관심이 있습니다. 현대 데이터 입력 프로그램을 중심으로 서클을 실행하는 매우 정교한 데이터 입력 프로그램을 작성할 수 있습니다.

물론 그래픽 DSL은 전혀 구문 분석 할 필요가 없습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top