2013-07-09 2 views
0

저는 최근에 flex와 bison을 사용하여 도메인 특정 언어를 개발했습니다. 이 언어를 사용하여 스크립트 파일을 편집하기위한 사용자 인터페이스를 만들고 싶습니다. 특히 파일 처리, 메뉴, 버튼, 구문 강조, 오류 검사 등과 같은 공통 기능을 원합니다. 그런 종류의 응용 프로그램을 개발하는 데 사용할 수있는 도구를 알고 있습니까? 나에게 프로토 타입을 빨리 줄 수있는 것을 선호 할 것이다.도메인 특정 언어 IDE

+0

최신 편집기는 사용자 지정 언어의 구문 강조 및 자동 완성 기능을 사용하여 구성 할 수 있습니다. 기존 편집자 위에 구축하는 것으로 생각 해 봤니? – Josh

+0

그런 편집자의 예를 들어 주시겠습니까? 거기에 많은 편집자가 있다는 것을 알고 있지만, 이것을하기 위해 내가 사용할 수있는 사람이 누구인지 모르겠습니다. @ 조쉬 – salvo

+0

나는 주로 vim을 사용한다. 구문 강조 표시의 경우 단일 파일을 만들어야합니다 (http://vim.wikia.com/wiki/Creating_your_own_syntax_files 참조). 사용자 지정 바로 가기 및 파일 처리 옵션은 .vimrc 파일에서 설정하고 vim 스크립트를 추가 할 수 있습니다. 오류 검사를 제외하고 나열한 모든 목표를 매우 쉽게 달성 할 수 있습니다. 그것이 판매 포인트라면, 아마도 당신은 일식을 사용할 수 있습니다. 컴파일러/인터프리터와 eclipse의 API 사이에 접착제 코드를 만들어야합니다. – Josh

답변

1

는 파일 처리, 메뉴, 버튼, 구문 강조,

을 확인 오류 로 그 파일 처리, 메뉴, 버튼과 강조가 적어도 문제 생각합니다. 다른 한편으로는 "오류 검사"라고 부르는 것. 힘든 견과 일 수 있습니다. 사용자가 편집기에서 소스 코드를 입력 할 때 오류를 즉각적으로 감지 할 수있는 방법에 대한 몇 가지 지침을 알려 드리려고합니다.

나는 편집기에서 작성된 코드의 일식 (자바 용)에 대한 실시간 분석을 원한다고 가정합니까? 필자는 이클립스가 내부적으로 어떻게 작동하는지 잘 모르겠다. 그러나 이것은 아마 당신이 그것을 바꿀 때마다 모든 소스 코드를 반복적으로 처리하는 사전 컴파일 과정에 의해 수행된다.

프로토 타입을 작성하는 한 가지 방법은 Flex와 Bison을 사용하는 것입니다. 이미이 도구에 익숙하다는 것을 알았습니다. 문법을 구축하고 모든 흥미로운 부분에 대한 작업 코드를 작성하여 구문 편차를 쉽게 찾을 수 있습니다. 이 후 사용자가 IDE에서 소스 코드를 작성하고 출력을 표시하는 방법을 사용하여 편집기에서 flex를 실행하고 bison이 c 코드를 생성합니다. 터미널과 같은 상태 창에서 또는 텍스트 편집 필드에서 직접 (이클립스가 그렇듯이) (후자의 경우 빌드가 어려울 수도 있지만 불가능하지 않으며 IDE에게 전문적인 터치를 제공한다.)

ADA 95 용 IDE를 빌드하려면 다음 Flex 및 Bison (실제 Lex 및 Yacc) 코드를 사용하면이 작업을 정확하게 수행 할 수 있습니다 (오류를보고하는 적절한 구문 분석기) : http://www.adaic.org/resources/add_content/standards/95lrm/lexer9x.l http://www.adaic.org/resources/add_content/standards/95lrm/grammar9x.y

희망이 있습니다.

편집 : IDE의 텍스트 편집기 필드에서 시원한 오류 강조 표시를 사용하면 구문 분석기에서 생성 된 구문 분석기에서 XML과 같이 쉽게 오류 유형을 포함하는 구문 분석기를 생성 할 수 있습니다. 거짓 (예 : 행과 열)을 사용하고 오류를 표시하는 데 사용하면 ... 간단히 XML 파서를 IDE에 포함시키고 (필요한 많은 데이터를 추출하고 그에 따라 디스플레이를 변경하는 것) ... 생각해 보면 로켓 과학이되어서는 안됩니다.