Planet
navi homePPSaboutscreenshotsdownloaddevelopmentforum

source: code/branches/gui/src/tolua/lua/verbatim.lua @ 2030

Last change on this file since 2030 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: 1.6 KB
Line 
1-- tolua: verbatim class
2-- Written by Waldemar Celes
3-- TeCGraf/PUC-Rio
4-- Jul 1998
5-- $Id: verbatim.lua,v 1.3 2000/01/24 20:41:16 celes Exp $
6
7-- This code is free software; you can redistribute it and/or modify it.
8-- The software provided hereunder is on an "as is" basis, and
9-- the author has no obligation to provide maintenance, support, updates,
10-- enhancements, or modifications.
11
12
13
14-- Verbatim class
15-- Represents a line translated directed to the binding file.
16-- The following filds are stored:
17--   line = line text
18classVerbatim = {
19 line = '',
20        cond = nil,    -- condition: where to generate the code (s=suport, r=register)
21}
22classVerbatim.__index = classVerbatim
23setmetatable(classVerbatim,classFeature)
24
25-- preamble verbatim
26function classVerbatim:preamble ()
27 if self.cond == '' then
28  write(self.line)
29 end
30end
31
32-- support code
33function classVerbatim:supcode ()
34 if strfind(self.cond,'s') then
35  write(self.line)
36  write('\n')
37 end
38end
39
40-- register code
41function classVerbatim:register (pre)
42 if strfind(self.cond,'r') then
43  write(self.line)
44 end
45end
46
47
48-- Print method
49function classVerbatim:print (ident,close)
50 print(ident.."Verbatim{")
51 print(ident.." line = '"..self.line.."',")
52 print(ident.."}"..close)
53end
54
55
56-- Internal constructor
57function _Verbatim (t)
58 setmetatable(t,classVerbatim)
59 append(t)
60 return t
61end
62
63-- Constructor
64-- Expects a string representing the text line
65function Verbatim (l,cond)
66 if strsub(l,1,1) == "'" then
67  l = strsub(l,2)
68 elseif strsub(l,1,1) == '$' then
69  cond = 'sr'       -- generates in both suport and register fragments
70  l = strsub(l,2)
71 end
72 return _Verbatim {
73  line = l,
74  cond = cond or '',
75 }
76end
77
78
Note: See TracBrowser for help on using the repository browser.