Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/gui/src/tolua/lua/custom_hide.lua @ 1650

Last change on this file since 1650 was 1650, checked in by rgrieder, 16 years ago

added preliminary automatic creation of tolua generator that creates the actual executable
(please don't ask about the egg-hen question…)

File size: 765 bytes
Line 
1-- extract code with tolua_hide, and also
2function extract_code(fn,s)
3        local code = '\n$#include "'..fn..'"\n'
4        s= "\n" .. s .. "\n" -- add blank lines as sentinels
5        local _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n")
6        while e do
7                t = strlower(t)
8                if t == "begin" then
9                        _,e,c = strfind(s,"(.-)\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[Ee][Nn][Dd][^\n]*\n",e)
10                        if not e then
11                         tolua_error("Unbalanced 'tolua_begin' directive in header file")
12                        end
13                end
14                c = c.."\n"
15                c = string.gsub(c, "\n[^\n]*[Tt][Oo][Ll][Uu][Aa]_[hH][iI][Dd][eE][^\n]*\n", "\n");
16                c = string.gsub(c, "#define[^%(\n]*%(.-\n", "\n")
17                code = code .. c
18         _,e,c,t = strfind(s, "\n([^\n]-)[Tt][Oo][Ll][Uu][Aa]_([^%s]*)[^\n]*\n",e)
19        end
20        return code
21end
Note: See TracBrowser for help on using the repository browser.