From 00f59ac497c5a6e4fa4a3b3eddcfdbc727f13771 Mon Sep 17 00:00:00 2001
From: Artem Serebriyskiy
-TODO: Fix if elua disabled eLua stands for Embedded Lua (can be thought of as a flavor of Lua) and offers the full implementation of the Lua programming language to the embedded world, extending it with specific features for efficient and portable software embedded development. eLua runs on smaller devices like microcontrollers and provides the full features of the regular Lua desktop version. More information on eLua can be found here: http://www.eluaproject.net
@@ -78,8 +77,7 @@ eLua stands for Embedded Lua (can be thought of as a flavor of Lua) and offers t-TODO: Fix if elua disabled -The current SWIG implementation is designed to work with Lua 5.0.x, 5.1.x and 5.2.x. It should work with later versions of Lua, but certainly not with Lua 4.0 due to substantial API changes. It is possible to either static link or dynamic link a Lua module into the interpreter (normally Lua static links its libraries, as dynamic linking is not available on all platforms). SWIG also supports eLua and works with eLua 0.8. SWIG generated code for eLua has been tested on Stellaris ARM Cortex-M3 LM3S and Infineon TriCore. +The current SWIG implementation is designed to work with Lua 5.0.x, 5.1.x and 5.2.x. It should work with later versions of Lua, but certainly not with Lua 4.0 due to substantial API changes. It is possible to either static link or dynamic link a Lua module into the interpreter (normally Lua static links its libraries, as dynamic linking is not available on all platforms). SWIG also has support for eLua starting from eLua 0.8. Due to substantial changes between SWIG 2.x and SWIG 3.0 and unavailability of testing platform, eLua status was downgraded to 'experimental'.
Since SWIG 3.0 C++ namespaces are supported. You can enabled handling namespaces with %nspace feature. Everything below is valid only after you enabled %nspace.
-Namespaces are mapped into lua tables. Each of those tables contains names that were defined within appropriate namespace. Namespaces structure (a.k.a nested namespaces is preserved). Consider the following C++ code: +
Namespaces are mapped into lua tables. Each of those tables contains names that were defined within appropriate namespace. Namespaces structure (a.k.a nested namespaces) is preserved. Consider the following C++ code:
%module example %nspace MyWorld::Nested::Dweller; @@ -1416,7 +1418,7 @@ surrounding scope without any prefixing. Pretending that Test2 is a struct, not
There internal organization of inheritance has changed. +
The internal organization of inheritance has changed. Consider the following C++ code:
%module example
class Base {
@@ -1446,8 +1448,8 @@ function
nil
>
This has been fixed. Now Derived store a list of it's bases and if some symbol is not found in it's own service tables -then its bases are searched for it. +
This behaviour was changed. Now unless -squash-bases option is provided, Derived store a list of it's bases and if some symbol is not found in it's own service tables +then its bases are searched for it. Option -squash-bases will effectively return old behaviour.
> print(der.new_func) -- Now it works function