Lua анализатор в python

Търся да използвам Lua в уеб проект. Изглежда не мога да намеря никакъв начин за директно анализиране в чист Python и стартиране на 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
@Joe, това не звучи като добър план за създаване на добра, работеща и поддържаема програма. Надеждата ви е да създадете Python в пясъчник? Ако е така, това вероятно няма да работи добре. - person Mike Graham; 04.05.2010

От вашите коментари изглежда, че се интересувате от сигурен начин за изпълнение на ненадежден код.

Редифинирането на вградените модули на Python, както предложихте в коментар, е ужасен начин за защита на кода.

Това, което искате, е sandboxing, има решения за python, но не бих ги препоръчал. Ще бъде много по-добре да използвате Jython или IronPython, тъй като JVM и .NET clr са проектирани с мисъл за sandboxing.

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

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