2016-01-26 2 views
0

Как указано в названии, я хочу создать AST в интерактивном режиме с определенной грамматикой. Но я не знаю, как это сделать ... Итак, мой вопрос:Создайте AST в интерактивном режиме с javafx

Какая технология доступна прямо сейчас при создании и редактировании AST с помощью javaFX?

Я ничего не видел в интернете относительно этого ... Я знаю, что Webview действительно работает на JavaFX, и, вероятно, интернет-технология решит это. Но я еще ничего не нашел с Webview ...

PS: Одна критическая информация для этого состоит в том, что мой АСТ должен быть создан щелчком мыши и не написан на клавиатуре (как традиционная среда IDE) , Я открыт для разных просмотров, поэтому, пожалуйста, не стесняйтесь говорить что-либо. Любая информация для решения этой проблемы, будем благодарны вам :)

+1

«Создайте АСТ нажатием мыши»? Таким образом, нажатие кнопки «Файл анализа» является действительным или нет в качестве решения? Или вы хотите построить дерево по частям через графический интерфейс? –

+0

Я хочу создать дерево через графический интерфейс в основном, но ему нужно следовать некоторым правилам грамматики для правильного создания! :) – Damiii

ответ

0

Что вы хотите назвать structure editor.

Такой редактор знает грамматику языка, с которым вы хотите работать, и работает с программой AST, а не с текстом. То, что вы видите в окне редактора, - это рендеринг AST как текстовый текст синтаксиса. Ваш курсор выбирает узел AST из-за того, что он ближе всего к тексту этого узла AST.

С учетом узла курсора/AST вы можете выполнять различные операции, такие как «вырезать поддерево», «вставить поддерево», «переместить поддерево» или заменить поддерево, набрав фразу, в результате чего редактор проанализирует, вы вводите, часто в реальном времени, для создания соответствующих узлов дерева.

Такие редакторы обычно могут давать указания процессу, сообщая вам, какую синтаксическую категорию вы редактируете (выражение, утверждение, декларация), и обычно угадывает, что вы должны вводить следующим, если это известно грамматикой.

Самый известный (по существу первый) был назван «Генератор синтезаторов». Я сомневаюсь, что ты это получишь. В приведенной выше ссылке в Википедии есть длинный список систем, некоторые из которых вы можете получить сейчас.

+0

Спасибо !!! :) – Damiii

+0

К сожалению, я не мог видеть информацию, которую хотел ... увидеть больше в Интернете:/ – Damiii

+0

Какую конкретную информацию вы хотели бы видеть? Если вы хотите знать, как работают эти инструменты, вы всегда можете прочитать тезис Томаса Репса, который подробно описывает генератор синтезаторов. Если не так, есть много статей по теме, в которых содержатся слова «редактор структуры». На этом нет книг или учебников, несмотря на то, что они сексуальны, на практике они не очень популярны. (Есть некоторые IDE, которые используют эту идею). –

Смежные вопросы