2012-03-31 1 views
2

언어에 대한 IDE를 만들고 싶습니다. 몇 가지 기능을 구현하는 방법이 궁금합니다. 특히 구문 강조 및 콘텐츠 지원은 편집기 내용이 유효하지 않은 경우에도 작동해야하므로 문제가됩니다 (사용자가 구문 하이라이트를 입력하면 구문 분석기가 실패하기 때문에 사라지지 않아야 함).콘텐츠 지원/구문 강조 표시를 구현하는 방법은 무엇입니까?

이 문제 (및 다른 문제도 해결할 수있는 방법)에 대해 궁금합니다. 나는 이것을 발견했다 :이 문제에 대한 해결책에 대한 설명이 담긴 How does code completion work?이지만 다소 간결하다.

나는 어느 시점에서 원하는 모든 기능을 구현할 수있는 방법을 생각해 낼 수있다. 그러나 나는 처음이 아니며 이미 완료했다.) (Eclipse의 소스 코드 읽기는 쉽지 않다)

그래서 내 진짜 질문은 IDE를 만드는 데 관련된 문제를 논의하는 책이 있습니까? 잘못된 코드를 파싱하는 방법을 설명하는 자세한 기사? 내가 볼 수있는 정보의 출처는 무엇입니까?

아, 그리고 IDE에 의해 나는 새로운 응용 프로그램을 의미하지는 않습니다, 일식에 대한 플러그인의 집합. 다음 링크가 더 도움이 될 것입니다

+0

구문 강조는 정규 표현식과 구문 분석으로 위장 할 수 있습니다 (이맥스는 항상 그렇게합니다). 그러나 적절한 "인텔리 센스"스타일 지원에는 적절한 파싱/증분 컴파일 단계가 필요하며 최소한 표현식의 유형이 결정됩니다. 최소한을 말하면, 그것은 사소한 일이 아닙니다. –

+0

코드를 파싱해야한다는 것을 알고 있습니다. 어쨌든 호출 계층 구조/유형 계층 구조/유형/지원 리팩토링 사이를 탐색하는 데 필요합니다. 그러나 나는이 분야에서 경험이 많은 사람의 통찰력을 읽는 것을 좋아한다. – mabn

답변