Max
Max

Reputation: 6394

Lua script to C++ code

I am writing C functions for Lua. I have many calls like lua_gettable, lua_touserdata, etc

My C function may receive complex structures like table with tables as fields.

It is hard for me to program stacked machine.

Is there way to write Lua script that would be converted to C code.

Or some other tools that may help me to code such C functions for lua scripts.

Thanks.

PS

Here is example:-

local data = {}
data.x = {}
data.x.y = 1
myCfunc(data)

int myCfunc(lua_State * L){
 lua_pushstring(L, "x");
 lua_gettable(L, 2);
 lua_pushstring(L, "y");
 lua_gettable(L, -2);
 double y = lua_tonumber(L, -1);
 lua_pop(L, 2);
}

instead of

function myCfunc(data)
 y = data.x.y
end

My real code is much more complex and I am looking for some automated code generation that will help me.

Upvotes: 4

Views: 17511

Answers (4)

Ali
Ali

Reputation: 1

SWIG Simplified Wrapper and Interface Generator http://www.swig.org/ It is generally for the C to Lua but by defining some global variables you can use it as a Lua to C

Upvotes: -1

lhf
lhf

Reputation: 72312

Try LuaToCee.

Upvotes: 8

Yaakov
Yaakov

Reputation: 1703

Perhaps toLua could help.

Upvotes: 5

Frank Schwieterman
Frank Schwieterman

Reputation: 24480

From C#, something I've done is written code to convert LUA datastructures in JSON format. Then I can load the data via any JSON library, with all their bells and whistles. Its kind of a round-about solution but you only have to write the JSON Encoding code once.

Upvotes: 3

Related Questions