// RMARKER.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_TOKEN_N #ifdef _STRICT_PARENT_ #ifdef _CA_CM_ONLY_ #include "TOKEN.och" #else // _CA_CM_ONLY_ #define _CA_CM_ONLY_ #include "TOKEN.och" #undef _CA_CM_ONLY_ #endif // _CA_CM_ONLY_ #else #include "TOKEN.och" #endif // _STRICT_PARENT_ #endif // CA_TOKEN_N #ifndef _CA_CM_ONLY_ #ifndef _RMARKER_OCH_ #define _RMARKER_OCH_ #xtranslate RMARKER.:id => \[CA_OBJECT_N+1\] #xtranslate RMARKER.:str => \[CA_OBJECT_N+2\] #xtranslate RMARKER.:file => \[CA_OBJECT_N+3\] #xtranslate RMARKER.:line => \[CA_OBJECT_N+4\] #xtranslate RMARKER.:pos => \[CA_OBJECT_N+5\] #xtranslate RMARKER.:classify => \[CA_OBJECT_N+6\] #xtranslate RMARKER.:error => \[CA_OBJECT_N+7\] #xtranslate RMARKER.:eqtype => \[CA_OBJECT_N+8\] #xtranslate RMARKER.:oinit => (OBJGEN.():(4)) #xtranslate RMARKER.:getclass => (OBJGEN.():(5)) #xtranslate RMARKER.:isclass => (OBJGEN.():(6)) #xtranslate RMARKER.:getattrib => (OBJGEN.():(7)) #xtranslate RMARKER.:setattrib => (OBJGEN.():(8)) #xtranslate RMARKER.:iserror => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate RMARKER.:errorstr => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate RMARKER.:printtostr => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate RMARKER.:getstr => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate RMARKER.:copytoken => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate RMARKER.:mmnum => \[CA_TOKEN_N+1\] #xtranslate RMARKER.:mmtkid => \[CA_TOKEN_N+2\] // ™r”k”lve: oinit(id,str,file,line,pos) // Specifik lva: getname() // Specifik lva: setmmidxbymm(matchMarkers) // Specifik lva: changebymmlist(paramValues,result,iLevel,oneLevel) // ™r”k”lve: oinit(id,str,file,line,pos) #xtranslate RMARKER.:getname => (OBJGEN.():(CM_TOKEN_N+1)) #xtranslate RMARKER.:setmmidxbymm => (OBJGEN.():(CM_TOKEN_N+2)) #xtranslate RMARKER.:changebymmlist => (OBJGEN.():(CM_TOKEN_N+3)) #endif // _RMARKER_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_RMARKER_N #define CA_RMARKER_N CA_TOKEN_N+2 #define CM_RMARKER_N CM_TOKEN_N+3 #endif // CA_RMARKER_N #ifndef _CA_CM_ONLY_ #ifndef _RMARKERCLASS_OCH_ #define _RMARKERCLASS_OCH_ ********************************************************************** #xtranslate C.RMARKER: => (RMARKERCLASS.clRMARKER():) #xtranslate C.RMARKER:self() => (clRMARKER()) #xtranslate RMARKERCLASS.:parent => \[CA_OBJECT_N+1\] #xtranslate RMARKERCLASS.:name => \[CA_OBJECT_N+2\] #xtranslate RMARKERCLASS.:objsize => \[CA_OBJECT_N+3\] #xtranslate RMARKERCLASS.:attribs => \[CA_OBJECT_N+4\] #xtranslate RMARKERCLASS.:methods => \[CA_OBJECT_N+5\] #xtranslate RMARKERCLASS.:classid => \[CA_OBJECT_N+6\] #xtranslate RMARKERCLASS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate RMARKERCLASS.:amblock => \[CA_OBJECT_N+8\] #xtranslate RMARKERCLASS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate RMARKERCLASS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate RMARKERCLASS.:errstrarray => \[CA_BEHAVIOR_N+1\] #xtranslate RMARKERCLASS.:equivclass => \[CA_BEHAVIOR_N+2\] #xtranslate RMARKERCLASS.:oinit => (OBJGEN.():(4)) #xtranslate RMARKERCLASS.:getclass => (OBJGEN.():(5)) #xtranslate RMARKERCLASS.:isclass => (OBJGEN.():(6)) #xtranslate RMARKERCLASS.:getattrib => (OBJGEN.():(7)) #xtranslate RMARKERCLASS.:setattrib => (OBJGEN.():(8)) #xtranslate RMARKERCLASS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate RMARKERCLASS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate RMARKERCLASS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate RMARKERCLASS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate RMARKERCLASS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate RMARKERCLASS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate RMARKERCLASS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate RMARKERCLASS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) #xtranslate RMARKERCLASS.:onewerror => (OBJGEN.():(CM_BEHAVIOR_N+1)) #xtranslate RMARKERCLASS.:copyfromtoken => (OBJGEN.():(CM_BEHAVIOR_N+2)) #xtranslate RMARKERCLASS.:findclassify => (OBJGEN.():(CM_BEHAVIOR_N+3)) // ™r”k”lve: onew(id,str,file,line,pos) // Specifik lva: isresultmarker(aToken) // ™r”k”lve: onew(id,str,file,line,pos) #xtranslate RMARKERCLASS.:isresultmarker => (OBJGEN.():(CM_TOKENCLASS_N+1)) #endif // _RMARKERCLASS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_RMARKERCLASS_N #define CA_RMARKERCLASS_N CA_TOKENCLASS_N+0 #define CM_RMARKERCLASS_N CM_TOKENCLASS_N+1 #endif // CA_RMARKERCLASS_N ********************************************************************** #ifdef _RMARKER_PRG_ #ifndef _RMARKER_PRG_OCH_ #define _RMARKER_PRG_OCH_ ********************************************************************** #xtranslate othis: => RMARKER.(othis): #xtranslate thisclass: => RMARKERCLASS.(this:getClass()): #define CTHIS RMARKER ********************************************************************** #xtranslate this: => RMARKER.(this): #xcommand implement oinit(id,str,file,line,pos) => ; static function oinit(this,id,str,file,line,pos) #xcommand implement getname() => static function getname(this) #xcommand implement setmmidxbymm(matchMarkers) => ; static function setmmidxbymm(this,matchMarkers) #xcommand implement changebymmlist(paramValues,result,iLevel,oneLevel) => ; static function changebymmlist(this,paramValues,result,iLevel,oneLevel) #ifdef _IMPLEMENT_EXPORT_ #xcommand implement export oinit(id,str,file,line,pos) => ; function oinit(this,id,str,file,line,pos) #xcommand implement export getname() => function getname(this) #xcommand implement export setmmidxbymm(matchMarkers) => ; function setmmidxbymm(this,matchMarkers) #xcommand implement export changebymmlist(paramValues,result,iLevel,oneLevel) => ; function changebymmlist(this,paramValues,result,iLevel,oneLevel) #endif // _IMPLEMENT_EXPORT_ #xtranslate super:oinit => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(4)) #xtranslate super:getclass => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(5)) #xtranslate super:isclass => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(6)) #xtranslate super:getattrib => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(7)) #xtranslate super:setattrib => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(8)) #xtranslate super:iserror => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(CM_OBJECT_N+1)) #xtranslate super:errorstr => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(CM_OBJECT_N+2)) #xtranslate super:printtostr => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(CM_OBJECT_N+3)) #xtranslate super:getstr => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(CM_OBJECT_N+4)) #xtranslate super:copytoken => (OBJGENM.(eval(BEHAVIOR.clTOKEN():objmethodsimplement)).(this):(CM_OBJECT_N+5)) ********************************************************************** static function setCMethods(pOsztaly) // Egy t”mb”t felt”lt az oszt ly m–veleti blokkjaival. pOsztaly[(4)]:={|this,id,str,file,line,pos| oinit(this,id,str,file,line,pos)} pOsztaly[(CM_TOKEN_N+1)]:={|this| getname(this)} pOsztaly[(CM_TOKEN_N+2)]:={|this,matchMarkers| setmmidxbymm(this,matchMarkers)} pOsztaly[(CM_TOKEN_N+3)]:={|this,paramValues,result,iLevel,oneLevel| changebymmlist(this,paramValues,result,iLevel,oneLevel)} return pOsztaly ********************************************************************** static function setCams(ta,tm) // Egy t”mb”t felt”lt az oszt ly  ltal def. objektumok attrib£tumaival ‚s m–veleteivel. ta[CA_TOKEN_N+1-CA_NIL_N] := {CA_TOKEN_N+1,'mmnum', } ta[CA_TOKEN_N+2-CA_NIL_N] := {CA_TOKEN_N+2,'mmtkid', } tm[(4)-CM_NIL_N] := {(4),'oinit','id,str,file,line,pos',nil} tm[(CM_TOKEN_N+1)-CM_NIL_N] := {(CM_TOKEN_N+1),'getname','',nil} tm[(CM_TOKEN_N+2)-CM_NIL_N] := {(CM_TOKEN_N+2),'setmmidxbymm','matchMarkers',nil} tm[(CM_TOKEN_N+3)-CM_NIL_N] := {(CM_TOKEN_N+3),'changebymmlist','paramValues,result,iLevel,oneLevel',nil} return nil #ifndef _NO_CLRMARKER_ #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 clRMARKER() // El“szedi az oszt lyt. (class) static osztaly if (osztaly==nil) osztaly:=META.mcRMARKERCLASS():onew(; clTOKEN(),; "RMARKER",; CA_RMARKER_N,; CM_RMARKER_N,; {|ta,tm|setCams(ta,tm)},; {|t|setCMethods(t)}) endif return osztaly #endif // _NO_CLRMARKER_ #ifndef _NO_RMARKERCLASS_ ********************************************************************** #xtranslate class: => RMARKERCLASS.(class): #xcommand cimplement onew(id,str,file,line,pos) => ; static function onew(class,id,str,file,line,pos) #xcommand cimplement isresultmarker(aToken) => ; static function isresultmarker(class,aToken) #ifdef _IMPLEMENT_EXPORT_ #xcommand cimplement export onew(id,str,file,line,pos) => ; function onew(class,id,str,file,line,pos) #xcommand cimplement export isresultmarker(aToken) => ; function isresultmarker(class,aToken) #endif // _IMPLEMENT_EXPORT_ #xtranslate superclass:oinit => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(4)) #xtranslate superclass:getclass => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(5)) #xtranslate superclass:isclass => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(6)) #xtranslate superclass:getattrib => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(7)) #xtranslate superclass:setattrib => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(8)) #xtranslate superclass:onew => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+1)) #xtranslate superclass:ocreate => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+2)) #xtranslate superclass:rawoinit => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+3)) #xtranslate superclass:oinitclass => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+4)) #xtranslate superclass:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+5)) #xtranslate superclass:attribidx => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+6)) #xtranslate superclass:needclassid => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+7)) #xtranslate superclass:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+8)) #xtranslate superclass:onewerror => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_BEHAVIOR_N+1)) #xtranslate superclass:copyfromtoken => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_BEHAVIOR_N+2)) #xtranslate superclass:findclassify => (OBJGENM.(eval(BEHAVIOR.mcTOKENCLASS():objmethodsimplement)).(class):(CM_BEHAVIOR_N+3)) ********************************************************************** static function setMCMethods(pOsztaly) // Egy t”mb”t felt”lt a metaoszt ly m–veleti blokkjaival. pOsztaly[(CM_OBJECT_N+1)]:={|class,id,str,file,line,pos| onew(class,id,str,file,line,pos)} pOsztaly[(CM_TOKENCLASS_N+1)]:={|class,aToken| isresultmarker(class,aToken)} return pOsztaly ********************************************************************** static function setMCams(ta,tm) // Egy t”mb”t felt”lt a metaoszt ly  ltal def. objektumok attrib£tumaival ‚s m–veleteivel. tm[(CM_OBJECT_N+1)-CM_NIL_N] := {(CM_OBJECT_N+1),'onew','id,str,file,line,pos',nil} tm[(CM_TOKENCLASS_N+1)-CM_NIL_N] := {(CM_TOKENCLASS_N+1),'isresultmarker','aToken',nil} return nil ********************************************************************** #ifndef _NO_MCRMARKERCLASS_ #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 mcRMARKERCLASS() // El“szedi az oszt ly metaoszt ly t. (metaclass) static metaOsztaly if (metaOsztaly==nil) metaOsztaly:=META.clMETA():onew(; mcTOKENCLASS(),; "RMARKERCLASS",; CA_RMARKERCLASS_N,; CM_RMARKERCLASS_N,; {|ta,tm|setMCams(ta,tm)},; {|t|setMCMethods(t)}) endif return metaOsztaly #endif // _NO_MCRMARKERCLASS_ #endif // _NO_RMARKERCLASS_ #ifdef _IMPLEMENT_ONEW_ ********************************************************************** cimplement onew(id,str,file,line,pos) local o:=class:ocreate() RMARKER.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 // _RMARKER_PRG_OCH_ #endif // _RMARKER_PRG_