#include #include 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; }