Парсер Lua на питоне

Я изучаю использование Lua в веб-проекте. Кажется, я не могу найти способ прямого анализа в чистом питоне и запуска кода Lua в Python.

Кто-нибудь знает как это сделать?

Джо


person Joe Simpson    schedule 04.05.2010    source источник
comment
Вы можете получить более полезные ответы, если опубликуете свою реальную проблему, которая, похоже, заключается в том, как создать безопасную или изолированную среду Lua для использования в веб-приложении. Люди из списка Lua делали это N раз...   -  person Norman Ramsey    schedule 05.05.2010


Ответы (3)


Есть проект (pylux), который встраивает Lua в Python. Хотя он кажется довольно неактивным, но это может быть хороший проект, на который стоит взглянуть.

person ChristopheD    schedule 04.05.2010
comment
Я ищу реализацию Pure Python - person Joe Simpson; 04.05.2010
comment
Удачи в поиске чистого синтаксического анализатора Python Lua (хотя никогда о нем не слышал). - person ChristopheD; 04.05.2010
comment
Хм... я решил не использовать Lua. Я просто собираюсь переопределить встроенные функции Python. Это хороший ответ, поэтому я отмечу его - person Joe Simpson; 04.05.2010
comment
@ Джо, это не похоже на хороший план создания хорошей, работающей, удобной в сопровождении программы. Вы надеетесь на песочницу Python? Если да, то вряд ли это сработает. - person Mike Graham; 04.05.2010

Судя по вашим комментариям, вы заинтересованы в безопасном способе выполнения ненадежного кода.

Переопределение встроенных функций Python, как вы предложили в комментарии, — это ужасный способ защитить код.

То, что вам нужно, это песочница, есть решения для python, но я бы их не рекомендовал. Вам было бы намного лучше использовать Jython или IronPython, потому что JVM и .NET clr были разработаны с учетом песочницы.

Я лично считаю, что в большинстве случаев, если вам нужно выполнить ненадежный код, вы слишком или недостаточно доверяете своим пользователям.

person mikerobi    schedule 04.05.2010

@the_drow

С веб-сайта Lua:

Lua — это быстрый языковой движок с небольшими размерами, который вы можете легко встроить в свое приложение. Lua имеет простой и хорошо документированный API, который обеспечивает надежную интеграцию с кодом, написанным на других языках. Lua легко расширить библиотеками, написанными на других языках. С помощью Lua также легко расширять программы, написанные на других языках. Lua использовался для расширения программ, написанных не только на C и C++, но также на Java, C#, Smalltalk, Fortran, Ada, Erlang и даже на других языках сценариев, таких как Perl и Ruby.

@Джо Симпсон

Проверьте Lunatic Python, возможно, там есть то, что вам нужно. Я знаю, что это старый вопрос, но другие люди также могут искать этот ответ. Это хороший вопрос, который заслуживает хорошего ответа.

person Steve    schedule 06.08.2013