Files
harbour-core/harbour/samples/cccppc/maltrset.och
1999-11-09 01:37:27 +00:00

304 lines
14 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// MALTRSET.och oszt ly implement ci¢.
// Gener lva: 1999.06.10, 14:40:25, OBJCCC v2.2.03
// Meta oszt ly defin¡ci¢: Van
#ifndef CA_MMARKER_N
#ifdef _STRICT_PARENT_
#ifdef _CA_CM_ONLY_
#include "MMARKER.och"
#else // _CA_CM_ONLY_
#define _CA_CM_ONLY_
#include "MMARKER.och"
#undef _CA_CM_ONLY_
#endif // _CA_CM_ONLY_
#else
#include "MMARKER.och"
#endif // _STRICT_PARENT_
#endif // CA_MMARKER_N
#ifndef _CA_CM_ONLY_
#ifndef _MALTRSET_OCH_
#define _MALTRSET_OCH_
#xtranslate MALTRSET.<obj>:id => <obj>\[CA_OBJECT_N+1\]
#xtranslate MALTRSET.<obj>:str => <obj>\[CA_OBJECT_N+2\]
#xtranslate MALTRSET.<obj>:file => <obj>\[CA_OBJECT_N+3\]
#xtranslate MALTRSET.<obj>:line => <obj>\[CA_OBJECT_N+4\]
#xtranslate MALTRSET.<obj>:pos => <obj>\[CA_OBJECT_N+5\]
#xtranslate MALTRSET.<obj>:classify => <obj>\[CA_OBJECT_N+6\]
#xtranslate MALTRSET.<obj>:error => <obj>\[CA_OBJECT_N+7\]
#xtranslate MALTRSET.<obj>:eqtype => <obj>\[CA_OBJECT_N+8\]
#xtranslate MALTRSET.<obj>:mnum => <obj>\[CA_TOKEN_N+1\]
#xtranslate MALTRSET.<obj>:nexttoken => <obj>\[CA_TOKEN_N+2\]
#xtranslate MALTRSET.<obj>:oinit => (OBJGEN.(<obj>):(4))
#xtranslate MALTRSET.<obj>:getclass => (OBJGEN.(<obj>):(5))
#xtranslate MALTRSET.<obj>:isclass => (OBJGEN.(<obj>):(6))
#xtranslate MALTRSET.<obj>:getattrib => (OBJGEN.(<obj>):(7))
#xtranslate MALTRSET.<obj>:setattrib => (OBJGEN.(<obj>):(8))
#xtranslate MALTRSET.<obj>:iserror => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
#xtranslate MALTRSET.<obj>:errorstr => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
#xtranslate MALTRSET.<obj>:printtostr => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
#xtranslate MALTRSET.<obj>:getstr => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
#xtranslate MALTRSET.<obj>:copytoken => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
#xtranslate MALTRSET.<obj>:getname => (OBJGEN.(<obj>):(CM_TOKEN_N+1))
#xtranslate MALTRSET.<obj>:alterset => <obj>\[CA_MMARKER_N+1\]
// Specifik lva: addalter(tokenList)
// ™r”k”lve: getstr()
// ™r”k”lve: oinit(id,str,file,line,pos)
#xtranslate MALTRSET.<obj>:addalter => (OBJGEN.(<obj>):(CM_MMARKER_N+1))
// ™r”k”lve: getstr()
// ™r”k”lve: oinit(id,str,file,line,pos)
#endif // _MALTRSET_OCH_
#endif // _CA_CM_ONLY_
#ifndef CA_MALTRSET_N
#define CA_MALTRSET_N CA_MMARKER_N+1
#define CM_MALTRSET_N CM_MMARKER_N+1
#endif // CA_MALTRSET_N
#ifndef _CA_CM_ONLY_
#ifndef _MALTRSETCLASS_OCH_
#define _MALTRSETCLASS_OCH_
**********************************************************************
#xtranslate C.MALTRSET:<m> => (MALTRSETCLASS.clMALTRSET():<m>)
#xtranslate C.MALTRSET:self() => (clMALTRSET())
#xtranslate MALTRSETCLASS.<obj>:parent => <obj>\[CA_OBJECT_N+1\]
#xtranslate MALTRSETCLASS.<obj>:name => <obj>\[CA_OBJECT_N+2\]
#xtranslate MALTRSETCLASS.<obj>:objsize => <obj>\[CA_OBJECT_N+3\]
#xtranslate MALTRSETCLASS.<obj>:attribs => <obj>\[CA_OBJECT_N+4\]
#xtranslate MALTRSETCLASS.<obj>:methods => <obj>\[CA_OBJECT_N+5\]
#xtranslate MALTRSETCLASS.<obj>:classid => <obj>\[CA_OBJECT_N+6\]
#xtranslate MALTRSETCLASS.<obj>:parentclassids => <obj>\[CA_OBJECT_N+7\]
#xtranslate MALTRSETCLASS.<obj>:amblock => <obj>\[CA_OBJECT_N+8\]
#xtranslate MALTRSETCLASS.<obj>:methodsblock => <obj>\[CA_OBJECT_N+9\]
#xtranslate MALTRSETCLASS.<obj>:objmethodsimplement => <obj>\[CA_OBJECT_N+10\]
#xtranslate MALTRSETCLASS.<obj>:errstrarray => <obj>\[CA_BEHAVIOR_N+1\]
#xtranslate MALTRSETCLASS.<obj>:equivclass => <obj>\[CA_BEHAVIOR_N+2\]
#xtranslate MALTRSETCLASS.<obj>:oinit => (OBJGEN.(<obj>):(4))
#xtranslate MALTRSETCLASS.<obj>:getclass => (OBJGEN.(<obj>):(5))
#xtranslate MALTRSETCLASS.<obj>:isclass => (OBJGEN.(<obj>):(6))
#xtranslate MALTRSETCLASS.<obj>:getattrib => (OBJGEN.(<obj>):(7))
#xtranslate MALTRSETCLASS.<obj>:setattrib => (OBJGEN.(<obj>):(8))
#xtranslate MALTRSETCLASS.<obj>:onew => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
#xtranslate MALTRSETCLASS.<obj>:ocreate => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
#xtranslate MALTRSETCLASS.<obj>:rawoinit => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
#xtranslate MALTRSETCLASS.<obj>:oinitclass => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
#xtranslate MALTRSETCLASS.<obj>:getmethodsimplement => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
#xtranslate MALTRSETCLASS.<obj>:attribidx => (OBJGEN.(<obj>):(CM_OBJECT_N+6))
#xtranslate MALTRSETCLASS.<obj>:needclassid => (OBJGEN.(<obj>):(CM_OBJECT_N+7))
#xtranslate MALTRSETCLASS.<obj>:isinheritfrom => (OBJGEN.(<obj>):(CM_OBJECT_N+8))
#xtranslate MALTRSETCLASS.<obj>:onewerror => (OBJGEN.(<obj>):(CM_BEHAVIOR_N+1))
#xtranslate MALTRSETCLASS.<obj>:copyfromtoken => (OBJGEN.(<obj>):(CM_BEHAVIOR_N+2))
#xtranslate MALTRSETCLASS.<obj>:findclassify => (OBJGEN.(<obj>):(CM_BEHAVIOR_N+3))
#xtranslate MALTRSETCLASS.<obj>:ismatchmarker => (OBJGEN.(<obj>):(CM_TOKENCLASS_N+1))
// ™r”k”lve: onew(id,str,file,line,pos)
// ™r”k”lve: onew(id,str,file,line,pos)
#endif // _MALTRSETCLASS_OCH_
#endif // _CA_CM_ONLY_
#ifndef CA_MALTRSETCLASS_N
#define CA_MALTRSETCLASS_N CA_MMARKERCLASS_N+0
#define CM_MALTRSETCLASS_N CM_MMARKERCLASS_N+0
#endif // CA_MALTRSETCLASS_N
**********************************************************************
#ifdef _MALTRSET_PRG_
#ifndef _MALTRSET_PRG_OCH_
#define _MALTRSET_PRG_OCH_
**********************************************************************
#xtranslate othis:<m> => MALTRSET.(othis):<m>
#xtranslate thisclass:<m> => MALTRSETCLASS.(this:getClass()):<m>
#define CTHIS MALTRSET
**********************************************************************
#xtranslate this:<m> => MALTRSET.(this):<m>
#xcommand implement addalter(tokenList) => ;
static function addalter(this,tokenList)
#xcommand implement getstr() => static function getstr(this)
#xcommand implement oinit(id,str,file,line,pos) => ;
static function oinit(this,id,str,file,line,pos)
#ifdef _IMPLEMENT_EXPORT_
#xcommand implement export addalter(tokenList) => ;
function addalter(this,tokenList)
#xcommand implement export getstr() => function getstr(this)
#xcommand implement export oinit(id,str,file,line,pos) => ;
function oinit(this,id,str,file,line,pos)
#endif // _IMPLEMENT_EXPORT_
#xtranslate super:oinit => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(4))
#xtranslate super:getclass => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(5))
#xtranslate super:isclass => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(6))
#xtranslate super:getattrib => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(7))
#xtranslate super:setattrib => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(8))
#xtranslate super:iserror => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(CM_OBJECT_N+1))
#xtranslate super:errorstr => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(CM_OBJECT_N+2))
#xtranslate super:printtostr => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(CM_OBJECT_N+3))
#xtranslate super:getstr => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(CM_OBJECT_N+4))
#xtranslate super:copytoken => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(CM_OBJECT_N+5))
#xtranslate super:getname => (OBJGENM.(eval(BEHAVIOR.clMMARKER():objmethodsimplement)).(this):(CM_TOKEN_N+1))
**********************************************************************
static function setCMethods(pOsztaly)
// Egy t”mb”t felt”lt az oszt ly mveleti blokkjaival.
pOsztaly[(CM_MMARKER_N+1)]:={|this,tokenList| addalter(this,tokenList)}
pOsztaly[(CM_OBJECT_N+4)]:={|this| getstr(this)}
pOsztaly[(4)]:={|this,id,str,file,line,pos| oinit(this,id,str,file,line,pos)}
return pOsztaly
**********************************************************************
static function setCams(ta,tm)
// Egy t”mb”t felt”lt az oszt ly  ltal def. objektumok attrib£tumaival s mveleteivel.
ta[CA_MMARKER_N+1-CA_NIL_N] := {CA_MMARKER_N+1,'alterset', }
tm[(CM_MMARKER_N+1)-CM_NIL_N] := {(CM_MMARKER_N+1),'addalter','tokenList',nil}
tm[(CM_OBJECT_N+4)-CM_NIL_N] := {(CM_OBJECT_N+4),'getstr','',nil}
tm[(4)-CM_NIL_N] := {(4),'oinit','id,str,file,line,pos',nil}
return nil
#ifndef _NO_CLMALTRSET_
#ifdef _STRICT_PARENT_
#ifdef _CA_CM_ONLY_
#include "meta.och"
#else // _CA_CM_ONLY_
#define _CA_CM_ONLY_
#include "meta.och"
#undef _CA_CM_ONLY_
#endif // _CA_CM_ONLY_
#else
#include "meta.och"
#endif // _STRICT_PARENT_
**********************************************************************
function clMALTRSET()
// El“szedi az oszt lyt. (class)
static osztaly
if (osztaly==nil)
osztaly:=META.mcMALTRSETCLASS():onew(;
clMMARKER(),;
"MALTRSET",;
CA_MALTRSET_N,;
CM_MALTRSET_N,;
{|ta,tm|setCams(ta,tm)},;
{|t|setCMethods(t)})
endif
return osztaly
#endif // _NO_CLMALTRSET_
#ifndef _NO_MALTRSETCLASS_
**********************************************************************
#xtranslate class:<m> => MALTRSETCLASS.(class):<m>
#xcommand cimplement onew(id,str,file,line,pos) => ;
static function onew(class,id,str,file,line,pos)
#ifdef _IMPLEMENT_EXPORT_
#xcommand cimplement export onew(id,str,file,line,pos) => ;
function onew(class,id,str,file,line,pos)
#endif // _IMPLEMENT_EXPORT_
#xtranslate superclass:oinit => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(4))
#xtranslate superclass:getclass => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(5))
#xtranslate superclass:isclass => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(6))
#xtranslate superclass:getattrib => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(7))
#xtranslate superclass:setattrib => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(8))
#xtranslate superclass:onew => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+1))
#xtranslate superclass:ocreate => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+2))
#xtranslate superclass:rawoinit => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+3))
#xtranslate superclass:oinitclass => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+4))
#xtranslate superclass:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+5))
#xtranslate superclass:attribidx => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+6))
#xtranslate superclass:needclassid => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+7))
#xtranslate superclass:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+8))
#xtranslate superclass:onewerror => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_BEHAVIOR_N+1))
#xtranslate superclass:copyfromtoken => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_BEHAVIOR_N+2))
#xtranslate superclass:findclassify => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_BEHAVIOR_N+3))
#xtranslate superclass:ismatchmarker => (OBJGENM.(eval(BEHAVIOR.mcMMARKERCLASS():objmethodsimplement)).(class):(CM_TOKENCLASS_N+1))
**********************************************************************
static function setMCMethods(pOsztaly)
// Egy t”mb”t felt”lt a metaoszt ly mveleti blokkjaival.
pOsztaly[(CM_OBJECT_N+1)]:={|class,id,str,file,line,pos| onew(class,id,str,file,line,pos)}
return pOsztaly
**********************************************************************
static function setMCams(ta,tm)
// Egy t”mb”t felt”lt a metaoszt ly  ltal def. objektumok attrib£tumaival s mveleteivel.
tm[(CM_OBJECT_N+1)-CM_NIL_N] := {(CM_OBJECT_N+1),'onew','id,str,file,line,pos',nil}
return nil
**********************************************************************
#ifndef _NO_MCMALTRSETCLASS_
#ifdef _STRICT_PARENT_
#ifdef _CA_CM_ONLY_
#include "meta.och" // "metaclas.och"
#else // _CA_CM_ONLY_
#define _CA_CM_ONLY_
#include "meta.och" // "metaclas.och"
#undef _CA_CM_ONLY_
#endif // _CA_CM_ONLY_
#else
#include "meta.och" // "metaclas.och"
#endif // _STRICT_PARENT_
function mcMALTRSETCLASS()
// El“szedi az oszt ly metaoszt ly t. (metaclass)
static metaOsztaly
if (metaOsztaly==nil)
metaOsztaly:=META.clMETA():onew(;
mcMMARKERCLASS(),;
"MALTRSETCLASS",;
CA_MALTRSETCLASS_N,;
CM_MALTRSETCLASS_N,;
{|ta,tm|setMCams(ta,tm)},;
{|t|setMCMethods(t)})
endif
return metaOsztaly
#endif // _NO_MCMALTRSETCLASS_
#endif // _NO_MALTRSETCLASS_
#ifdef _IMPLEMENT_ONEW_
**********************************************************************
cimplement onew(id,str,file,line,pos)
local o:=class:ocreate()
MALTRSET.o:oinit(id,str,file,line,pos)
return o
#endif // _IMPLEMENT_ONEW_
**********************************************************************
#ifdef _IMPLEMENT_OINIT_
implement oinit(id,str,file,line,pos)
super:oinit()
return this
#endif // _IMPLEMENT_OINIT_
**********************************************************************
**********************************************************************
#endif // _MALTRSET_PRG_OCH_
#endif // _MALTRSET_PRG_