init
This commit is contained in:
78
Gateway/srvlib/3rd/tolua++/lua/verbatim.lua
Normal file
78
Gateway/srvlib/3rd/tolua++/lua/verbatim.lua
Normal file
@@ -0,0 +1,78 @@
|
||||
-- tolua: verbatim class
|
||||
-- Written by Waldemar Celes
|
||||
-- TeCGraf/PUC-Rio
|
||||
-- Jul 1998
|
||||
-- $Id: verbatim.lua 1004 2006-02-27 13:03:20Z lindquist $
|
||||
|
||||
-- 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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user