Я создаю программируемую часть программного обеспечения. Идея заключалась в том, чтобы позволить конечным пользователям управлять хост-системой через некоторые сценарии. Следовательно, программное обеспечение поставляется с редактором сценариев, для которого я использую RSyntaxTextArea. Здесь все хорошо.Алгоритм Intellisense для языка сценариев
В качестве последнего штриха, я думал о добавлении своего рода IntelliSense к сценарию (язык скрипта Rhino) редактор и я не уверен, как именно лучше всего осуществить это (по крайней мере, до некоторой степени).
Для начала, я начал с этим любительским подходом:.
- (точка) символ вызывает весь процесс предложений.
- Содержимое сценария (за исключением текущего оператора) равно * eval * uated и из которого я идентифицирую переменные/функции, определенные до сих пор, и их тип. Предложения основаны на этом.
В качестве альтернативы вместо оценки сценария (который является преждевременным), я думаю о построении AST. Правильно ли это подходит? У вас есть предложения/ссылки/алгоритмы и т. Д.? Как обрабатывать случай, когда текущее состояние скрипта не компилируется? Пожалуйста посоветуй.
Почему этот вопрос отмечен Java? – chrylis
Rhino - это Javascript, не так ли? Поэтому вы в основном просите алгоритм автозаполнения для Javascript. –
Вот старый вопрос, обсуждающий intellisense для динамически типизированных языков, которые могут помочь: http://stackoverflow.com/questions/2020096/intellisense-for-dynamic-languages – gms7777