2008-09-19 6 views
7

Alice의 규칙 시스템과 매우 흡사하게 템플릿과 유사한 편집기로 DSL을 만듭니다. 사용자는 목록에서 관계뿐만 아니라 관계를 적용 할 개체를 선택할 수 있습니다. 이 두 목록은 허용되는 유형을 기준으로 필터링해야합니다. 예를 들어 관계가 "보다 큼"이면 사용 가능한 객체는 "보다 큼"이 구현 된 유형이어야합니다.도메인 별 언어에 대한 사용자 지정 편집기에서 IntelliSense와 비슷한 동작 구현

마찬가지로, 이 아닌이 아닌보다 비슷한 개체가 선택되면 해당 관계가 잠재적 관계 목록에 없어야합니다. 이 문제의 핵심은 유형 검사기라고 생각하지만, 응용 프로그램에 해당 유형의 논리를 통합하는 최선의 방법은 확실하지 않습니다. DSL을위한 기존 유형 검사 라이브러리를 아는 사람이 있습니까?

저는 특히 오픈 소스 및 크로스 플랫폼 기술에 관심이 있습니다. Java는 아마 우리가 사용하게 될 언어이지만, 아직 해결되지 않았습니다.

+0

이 경우 무슨 일이 일어 났는지 궁금합니다. 좋은 해결책을 찾았습니까? 내 마음 속에서 Intellisense는 유용성의 관점에서 구현하기가 대단히 어려울 것입니다. 반응성과 침투성 사이의 올바른 균형을 찾는 것은 엄청나게 까다로운 작업처럼 보입니다. 내 경험에 비추어 볼 때, Microsoft의 구현은 다른 어떤 것보다 몇 마일 앞서 있습니다. Eclipse 구현은 너무 까다 롭다. 나는 당신이 좋은 것을 발견했는지 알고 싶어합니다. – Alex

+0

이것은 작업 프로젝트 였고 나는 다른 프로젝트에서 일하기 위해 떨어져 나갔다. 그래서 이것 (sortof)에 대한 나의 노력은 사라졌다. 그것 이외에, 나는 너와 (알렉스) 나는 intellisense의 다른 측면에 관심이 있다고 생각한다. 실제 사용자 인터페이스로 작업하는 대신 범용 자동 완성 시스템의 설계에 관심이있었습니다. UI는 나중에 제공됩니다. – rcreswick

답변

2

Scintilla을 살펴볼 수 있습니다. 그것은 Notepad ++에서 사용되는 편집 도구입니다. 그것은 자동 완성을 수행하는 것에 대한 약간의 지원을하고 있습니다 만, 직접 사용하지는 않았으므로 어떻게 작동하는지 잘 모르겠습니다. 오픈 소스이기 때문에 필요에 맞지 않는다면 번거롭지 않게 확장 할 수 있습니다.