2014-10-30 3 views
0

매우 간단한 DSL의 구문 검사기와 유효성 검사기를 IDE에 제공해야합니다.XText 및 XTend를 처리하기에 적합한 시나리오?

DSL의 인터프리터는 이미 존재하므로 다른 인터프리터가 필요하지 않습니다. DSL은 Xtext에 적합합니다. & xtend except 자바 스크립트로 탈출 할 수 있도록 허용합니다. 꽤 복잡한 언어입니다.

XText는이 시나리오에 적합한가요? 나는 javascript에 xtext를 적용하는 것이 매우 어렵다고 들었다. 나는 쉽게 연결하거나 확장 할 수있는 오픈 소스 xtext javascript 프로젝트를 보지 못했다.

감사합니다.

편집 : 내가 작업중인 dsl은 nools 규칙 언어입니다.

rule "rule report to user" { 
    when{ 
     $ctr: Counter $ctr.count % 1000 == 0 {count: $count} 
    } 
    then{ 
     console.log("Progressing..."); 
     modify($ctr, function(){this.count = $count + 1;}); 
    } 
} 

when 절의 각 명령문에 JavaScript가 나타납니다. 이 예에서 패턴은 "$ ctr.count % 1000 == 0"입니다. 예를 들어 패턴에 제한없는 수의 자바 스크립트 대체가 있습니다. regex 연산자 '= ~'를 지원합니다.

then 절에 정의 된 별명이 then 절에서 변수로 나타나는 것을 제외하고는 then 절의 전체가 JavaScript입니다. 이 예에서 $ ctr은 별칭입니다.

답변

1

  • 구문이 명확하게 "정상적인 코드"와
  • 당신은 당신이를 만들 수있는 자바 스크립트 부품

에 대한 편집기 지원에 대해 걱정하지 않는다 "자바 스크립트는 탈출"을 분리하는 경우 Javascript 부분을 축 어적으로 구문 분석하는 Xtext 문법.

DSL을보고 사용 사례를 알지 못하면 더 구체적인 조언을 드릴 수 없습니다.

+0

감사합니다. 나는이 질문을 추가 정보로 수정했다. Javascript를 파싱하는 기존 Xtext 문법이 있습니까? – Colin

+0

Github의 타이프 스크립트 문법에 대한 개념 증명을 찾았습니다. github.com/vorburger/eclipse-typescript-xtext/ 하지만이 작업을 잘하는 데는 많은 시간이 걸릴 것으로 생각됩니다. JavaScript는 간단한 설명이 아닙니다.) –

+0

입력 해 주셔서 감사합니다. 내가 보게 될 것입니다, 시간은 중요한 요소입니다. 아마 IDE 지원은 우리의 미래가 아닙니다. – Colin