#c #parsing #lua
#c #синтаксический анализ #lua
Вопрос:
Вопрос говорит сам за себя. Допустим, я хочу создать редактор для lua с подсветкой синтаксиса и подсказками кода. Для этого мне нужно постоянно анализировать код и применять надлежащие правила. Как я могу сделать это с помощью библиотеки Lua?
Комментарии:
1. Я не думаю, что библиотека lua здесь поможет. Его основная цель — загрузить и выполнить код lua. Таким образом, он не предоставляет API для чего-то вроде извлечения AST.
2. запустите компилятор Lua?
3. Вам может быть интересно, следуя протоколу language server .
4. @Jarod42 Я посмотрю на это. Похоже, это то, что я ищу
Ответ №1:
См. lua_load
Загружает фрагмент Lua без его запуска. Если ошибок нет, lua_load помещает скомпилированный фрагмент в виде функции Lua поверх стека. В противном случае выдается сообщение об ошибке.
В качестве альтернативы:
Чтобы найти ошибки Lua, запустите свой код через компилятор Lua.
Чтобы найти что-нибудь еще, запустите код через линтер, такой как luacheck, или реализуйте свой собственный.
Проанализируйте выходные данные обоих, чтобы отобразить предупреждения и ошибки.