Как написать редактор исходного кода для пользовательского языка в Rich Client Plateform? - PullRequest
3 голосов
/ 04 мая 2011

Я создаю инструмент для пользовательского языка. Он будет иметь много компонентов, включая редактор исходного кода. Какие компоненты мне понадобятся для сборки этого редактора. Я хотел бы начать с подсветки синтаксиса, контуров и форматирования.

Я уже разработал парсер с использованием ANTLR.

Ответы [ 3 ]

6 голосов
/ 04 мая 2011

Если вы действительно хотите / должны создать свой DSL и редактор для него «от руки», тогда я предлагаю использовать JFace Text framework для создания редактора.

Однако, хотя вы сказали, что у вас уже есть парсер, я настоятельно рекомендую вам взглянуть на Xtext и посмотреть, соответствует ли он вашим потребностям. Он дает вам возможность определить ваш DSL и автоматически генерирует редактор с подсветкой синтаксиса, дополнением кода и так далее. И AFAIK, он использует ANTLR внизу для генерации парсера. С Xtext вы также можете создать компилятор (или интерпретатор) для вашего языка.

3 голосов
/ 04 мая 2011

Я думаю Xtext - это именно то, что вы ищете.С помощью Xtext вы определяете DSL, а затем можете запустить собственный Eclipse, который обеспечивает завершение кода, подсветку синтаксиса и т. Д. Для DSL, который вы определили.

0 голосов
/ 04 мая 2011

Посмотрите на JEditorPane и связанный с ним Документ. Это может быть использовано для выделения. Также посмотрите на http://download.oracle.com/javase/tutorial/uiswing/components/editorpane.html для получения дополнительной информации о том, как настроить документ, в частности, StyledDocument.

...