comp.lang.ada
 help / color / mirror / Atom feed
* Please help with my lua binding
@ 2013-01-02 18:46 Patrick
  2013-01-02 19:03 ` Patrick
                   ` (2 more replies)
  0 siblings, 3 replies; 13+ messages in thread
From: Patrick @ 2013-01-02 18:46 UTC (permalink / raw)


Hello Everyone

I am trying to make a binding to Lua. 

Although I had to comment out a couple of functions, I have three compiling spec files for the three lua headers that are needed to form a binding.

I have a great free pascal binding to use as an example

I used fdump-ada-spec-slim and it helped a lot. I was able to sort out most of the types and macros by hand.

In lua, lua_State holds the instance of lua. It is an empty struct in the header and fdump skips it.

I don't really know how to represent this structure in lua.

I tried to define it as:

type lua_State is access lua_State;
pragma Import (C, lua_State, "lua_State");

 but when I call it in this piece of code:

with lauxlib_h ; use lauxlib_h ;
with lualib_h ; use lualib_h ;
with lua_h ; use lua_h ;


procedure test is
result : Integer ;
type L is access lua_State ;


begin

L := luaL_newstate ;
 
end test ;

I get this:
test.adb:27:01: invalid use of subtype mark in expression or call
lua_h.ads:149:26: type "lua_State" cannot be used before end of its declaration
lua_h.ads:150:19: second argument of pragma "import" must be object or subprogram
gnatmake: "test.adb" compilation error

In the pascal biding lua_State is:
Plua_State = Pointer;

They put a P at the start to show it is a pointer.

An example of it's use in C is:
int main(void)
{
    
lua_State *L;
L = luaL_newstate();  /* Create Lua state variable */
luaL_openlibs(L);     /* Load Lua libraries */
continues....

interfaces.C helps me a lot but outside of it I get mixed up working with C. Does anyone have any hints on how I could define lua_State in my spec file?

Thanks for reading.



^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2013-01-03  9:45 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-02 18:46 Please help with my lua binding Patrick
2013-01-02 19:03 ` Patrick
2013-01-02 19:31 ` Florian Weimer
2013-01-02 19:46 ` Florian Weimer
2013-01-02 19:55   ` Patrick
2013-01-02 20:08     ` Simon Wright
2013-01-03  5:51       ` Jeffrey Carter
2013-01-03  9:03         ` Simon Wright
2013-01-03  9:45           ` Florian Weimer
2013-01-02 20:08     ` Florian Weimer
2013-01-02 22:37       ` Patrick
2013-01-02 23:17       ` Patrick
2013-01-03  7:08         ` Patrick

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox