У меня есть рабочий образовательный модуль Java-палитры для Netbeans, который помогает первокурсникам изучать основы программирования, не беспокоясь о синтаксисе.
Когда студент перетаскивает элемент из палитры, они получают всплывающее окно, которое позволяет им заполнять детали отбрасываемого кода, такие как имена переменных или значения. У меня есть ComboBoxes
, который перечисляет все переменные в документе. Для версии палитры Java я просто использовал JavaParser , чтобы получить список переменных, имен методов, классов и т. Д.
Теперь я делаю версию этой палитры для студентов C ++. На этот раз я бы предпочел не использовать JavaParser, javacc, ANTLR и т. Д., Поскольку это кажется излишним. У NetBeans уже есть список, который мне нужен, когда вы нажимаете Ctrl + пробел
, но я не могу найти способ получить доступ к списку из формы. Geertjan имеет отличный учебник по использованию завершения кода в JEditorPane
который обращается к реализации вашего собственного провайдера завершения кода, который возвращает меня к первому.
И эта страница предполагает, что NetBeans просто захватывает список переменных из стека отладчика. API-интерфейс отладчика не предлагает никаких прямых методов для запроса списка переменных, который я мог бы различить.
Любое предложение об использовании API NetBeans для захвата списка переменных из исходного файла на C ++, а не прибегать к синтаксическому анализатору?