-- tolua: verbatim class -- Written by Waldemar Celes -- TeCGraf/PUC-Rio -- Jul 1998 -- $Id: verbatim.lua,v 1.3 2000/01/24 20:41:16 celes Exp $ -- This code is free software; you can redistribute it and/or modify it. -- The software provided hereunder is on an "as is" basis, and -- the author has no obligation to provide maintenance, support, updates, -- enhancements, or modifications. -- Verbatim class -- Represents a line translated directed to the binding file. -- The following filds are stored: -- line = line text classVerbatim = { line = '', cond = nil, -- condition: where to generate the code (s=suport, r=register) } classVerbatim.__index = classVerbatim setmetatable(classVerbatim,classFeature) -- preamble verbatim function classVerbatim:preamble () if self.cond == '' then write(self.line) end end -- support code function classVerbatim:supcode () if strfind(self.cond,'s') then write(self.line) write('\n') end end -- register code function classVerbatim:register (pre) if strfind(self.cond,'r') then write(self.line) end end -- Print method function classVerbatim:print (ident,close) print(ident.."Verbatim{") print(ident.." line = '"..self.line.."',") print(ident.."}"..close) end -- Internal constructor function _Verbatim (t) setmetatable(t,classVerbatim) append(t) return t end -- Constructor -- Expects a string representing the text line function Verbatim (l,cond) if strsub(l,1,1) == "'" then l = strsub(l,2) elseif strsub(l,1,1) == '$' then cond = 'sr' -- generates in both suport and register fragments l = strsub(l,2) end return _Verbatim { line = l, cond = cond or '', } end