49 lines
916 B
C++
49 lines
916 B
C++
|
|
#include <iostream>
|
|
#include <lua.hpp>
|
|
using namespace std;
|
|
|
|
void report_errors(lua_State * L, int status)
|
|
{
|
|
if ( status != 0 )
|
|
{
|
|
cerr << "-- " << lua_tostring(L, -1) << endl;
|
|
lua_pop(L, 1); // remove error message
|
|
}
|
|
}
|
|
|
|
int main(int argc, char ** argv)
|
|
{
|
|
for ( int n = 1; n < argc; ++n )
|
|
{
|
|
const char * file = argv[n];
|
|
|
|
lua_State * L = lua_open();
|
|
|
|
luaL_openlibs(L);
|
|
#if 0
|
|
luaopen_io(L); // provides io.*
|
|
luaopen_base(L);
|
|
luaopen_table(L);
|
|
luaopen_string(L);
|
|
luaopen_math(L);
|
|
#endif
|
|
|
|
cerr << "-- Loading file: " << file << endl;
|
|
|
|
int s = luaL_loadfile(L, file);
|
|
|
|
if ( s == 0 )
|
|
{
|
|
// execute Lua program
|
|
s = lua_pcall(L, 0, LUA_MULTRET, 0);
|
|
}
|
|
|
|
report_errors(L, s);
|
|
lua_close(L);
|
|
cerr << endl;
|
|
}
|
|
|
|
return 0;
|
|
}
|