Существуют ли какие-либо .NET DLL, которые реализуют функциональность luac? - PullRequest
2 голосов
/ 30 октября 2008

Кто-нибудь знает какие-либо библиотеки DLL (предпочтительно .net), которые инкапсулируют компилятор lua 5.1? Я работаю над проектом .net, где часть его должна компилировать сценарии lua, и я предпочел бы иметь DLL, в которую я мог бы отправлять код сценария вместо отправки сценария во временный файл и запуска luac.exe.

Редактировать: Мне нужна библиотека .NET, которая реализует luac таким образом, что он выводит стандартный байт-код lua (не библиотека lua, которая компилируется в CLR). Компиляция исходного кода lua c не работала, так как, когда я решил включить ссылку на dll в проект c #, Visual Studio пожаловалась, что это не является действительной сборкой. Мои поиски пока ничего не нашли.

Ответы [ 3 ]

1 голос
/ 31 октября 2008

Существует проект Lua.NET для интеграции Lua и .Net:

http://www.lua.inf.puc -rio.br / проекты / luanet /

1 голос
/ 22 сентября 2009

Вы можете эмулировать luac в Lua с помощью следующей команды, взятой из вики-пользователя lua :

lua -e 'io.write(string.dump(assert(loadfile())))' <sample.lua >sample.out

Так что, если вы собираетесь сделать это на уровне API в C (хотя я знаю, что вы используете .NET), это должно быть что-то вроде

lua_dostring(L, "string.dump(assert(loadstring([==[YOUR CODE HERE]==])))");
size_t sz;
char *output = lua_tolstring(L, -1, &sz);

А затем просто сохраните sz символов в выходной файл.

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

1 голос
/ 30 октября 2008

весь код для luac распространяется с lua ... было бы тривиально сделать его DLL.

...