// EXTRDICT.och oszt ly implement ci¢. // Gener lva: 1999.06.10, 14:39:58, OBJCCC v2.2.03 // Meta oszt ly defin¡ci¢: Van #ifndef CA_OBJECT_N #ifdef _STRICT_PARENT_ #ifdef _CA_CM_ONLY_ #include "OBJECT.och" #else // _CA_CM_ONLY_ #define _CA_CM_ONLY_ #include "OBJECT.och" #undef _CA_CM_ONLY_ #endif // _CA_CM_ONLY_ #else #include "OBJECT.och" #endif // _STRICT_PARENT_ #endif // CA_OBJECT_N #ifndef _CA_CM_ONLY_ #ifndef _EXTRDICT_OCH_ #define _EXTRDICT_OCH_ #xtranslate EXTRDICT.:oinit => (OBJGEN.():(4)) #xtranslate EXTRDICT.:getclass => (OBJGEN.():(5)) #xtranslate EXTRDICT.:isclass => (OBJGEN.():(6)) #xtranslate EXTRDICT.:getattrib => (OBJGEN.():(7)) #xtranslate EXTRDICT.:setattrib => (OBJGEN.():(8)) #xtranslate EXTRDICT.:cmdtype => \[CA_OBJECT_N+1\] #xtranslate EXTRDICT.:leftside => \[CA_OBJECT_N+2\] #xtranslate EXTRDICT.:rightside => \[CA_OBJECT_N+3\] #xtranslate EXTRDICT.:deffilelinepos => \[CA_OBJECT_N+4\] #xtranslate EXTRDICT.:nummatchmarkers => \[CA_OBJECT_N+5\] #xtranslate EXTRDICT.:undefrmarkers => \[CA_OBJECT_N+6\] // Specifik lva: change(paramValues) // Specifik lva: printstr() // ™r”k”lve: oinit(cmdType,leftSide,rightSide,deffile,defline,defpos) #xtranslate EXTRDICT.:change => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate EXTRDICT.:printstr => (OBJGEN.():(CM_OBJECT_N+2)) // ™r”k”lve: oinit(cmdType,leftSide,rightSide,deffile,defline,defpos) #endif // _EXTRDICT_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_EXTRDICT_N #define CA_EXTRDICT_N CA_OBJECT_N+6 #define CM_EXTRDICT_N CM_OBJECT_N+2 #endif // CA_EXTRDICT_N #ifndef _CA_CM_ONLY_ #ifndef _EXTRDICTCLASS_OCH_ #define _EXTRDICTCLASS_OCH_ ********************************************************************** #xtranslate C.EXTRDICT: => (EXTRDICTCLASS.clEXTRDICT():) #xtranslate C.EXTRDICT:self() => (clEXTRDICT()) #xtranslate EXTRDICTCLASS.:parent => \[CA_OBJECT_N+1\] #xtranslate EXTRDICTCLASS.:name => \[CA_OBJECT_N+2\] #xtranslate EXTRDICTCLASS.:objsize => \[CA_OBJECT_N+3\] #xtranslate EXTRDICTCLASS.:attribs => \[CA_OBJECT_N+4\] #xtranslate EXTRDICTCLASS.:methods => \[CA_OBJECT_N+5\] #xtranslate EXTRDICTCLASS.:classid => \[CA_OBJECT_N+6\] #xtranslate EXTRDICTCLASS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate EXTRDICTCLASS.:amblock => \[CA_OBJECT_N+8\] #xtranslate EXTRDICTCLASS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate EXTRDICTCLASS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate EXTRDICTCLASS.:oinit => (OBJGEN.():(4)) #xtranslate EXTRDICTCLASS.:getclass => (OBJGEN.():(5)) #xtranslate EXTRDICTCLASS.:isclass => (OBJGEN.():(6)) #xtranslate EXTRDICTCLASS.:getattrib => (OBJGEN.():(7)) #xtranslate EXTRDICTCLASS.:setattrib => (OBJGEN.():(8)) #xtranslate EXTRDICTCLASS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate EXTRDICTCLASS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate EXTRDICTCLASS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate EXTRDICTCLASS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate EXTRDICTCLASS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate EXTRDICTCLASS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate EXTRDICTCLASS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate EXTRDICTCLASS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) // ™r”k”lve: onew(cmdType,leftSide,rightSide,deffile,defline,defpos) // ™r”k”lve: onew(cmdType,leftSide,rightSide,deffile,defline,defpos) #endif // _EXTRDICTCLASS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_EXTRDICTCLASS_N #define CA_EXTRDICTCLASS_N CA_BEHAVIOR_N+0 #define CM_EXTRDICTCLASS_N CM_BEHAVIOR_N+0 #endif // CA_EXTRDICTCLASS_N ********************************************************************** #ifdef _EXTRDICT_PRG_ #ifndef _EXTRDICT_PRG_OCH_ #define _EXTRDICT_PRG_OCH_ ********************************************************************** #xtranslate othis: => EXTRDICT.(othis): #xtranslate thisclass: => EXTRDICTCLASS.(this:getClass()): #define CTHIS EXTRDICT ********************************************************************** #xtranslate this: => EXTRDICT.(this): #xcommand implement change(paramValues) => ; static function change(this,paramValues) #xcommand implement printstr() => static function printstr(this) #xcommand implement oinit(cmdType,leftSide,rightSide,deffile,defline,defpos) => ; static function oinit(this,cmdType,leftSide,rightSide,deffile,defline,defpos) #ifdef _IMPLEMENT_EXPORT_ #xcommand implement export change(paramValues) => ; function change(this,paramValues) #xcommand implement export printstr() => function printstr(this) #xcommand implement export oinit(cmdType,leftSide,rightSide,deffile,defline,defpos) => ; function oinit(this,cmdType,leftSide,rightSide,deffile,defline,defpos) #endif // _IMPLEMENT_EXPORT_ #xtranslate super:oinit => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(4)) #xtranslate super:getclass => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(5)) #xtranslate super:isclass => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(6)) #xtranslate super:getattrib => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(7)) #xtranslate super:setattrib => (OBJGENM.(eval(BEHAVIOR.clOBJECT():objmethodsimplement)).(this):(8)) ********************************************************************** static function setCMethods(pOsztaly) // Egy t”mb”t felt”lt az oszt ly m–veleti blokkjaival. pOsztaly[(CM_OBJECT_N+1)]:={|this,paramValues| change(this,paramValues)} pOsztaly[(CM_OBJECT_N+2)]:={|this| printstr(this)} pOsztaly[(4)]:={|this,cmdType,leftSide,rightSide,deffile,defline,defpos| oinit(this,cmdType,leftSide,rightSide,deffile,defline,defpos)} 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_OBJECT_N+1-CA_NIL_N] := {CA_OBJECT_N+1,'cmdtype', } ta[CA_OBJECT_N+2-CA_NIL_N] := {CA_OBJECT_N+2,'leftside',nil} ta[CA_OBJECT_N+3-CA_NIL_N] := {CA_OBJECT_N+3,'rightside',nil} ta[CA_OBJECT_N+4-CA_NIL_N] := {CA_OBJECT_N+4,'deffilelinepos',nil} ta[CA_OBJECT_N+5-CA_NIL_N] := {CA_OBJECT_N+5,'nummatchmarkers',nil} ta[CA_OBJECT_N+6-CA_NIL_N] := {CA_OBJECT_N+6,'undefrmarkers', } tm[(CM_OBJECT_N+1)-CM_NIL_N] := {(CM_OBJECT_N+1),'change','paramValues',nil} tm[(CM_OBJECT_N+2)-CM_NIL_N] := {(CM_OBJECT_N+2),'printstr','',nil} tm[(4)-CM_NIL_N] := {(4),'oinit','cmdType,leftSide,rightSide,deffile,defline,defpos',nil} return nil #ifndef _NO_CLEXTRDICT_ #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 clEXTRDICT() // El“szedi az oszt lyt. (class) static osztaly if (osztaly==nil) osztaly:=META.mcEXTRDICTCLASS():onew(; clOBJECT(),; "EXTRDICT",; CA_EXTRDICT_N,; CM_EXTRDICT_N,; {|ta,tm|setCams(ta,tm)},; {|t|setCMethods(t)}) endif return osztaly #endif // _NO_CLEXTRDICT_ #ifndef _NO_EXTRDICTCLASS_ ********************************************************************** #xtranslate class: => EXTRDICTCLASS.(class): #xcommand cimplement onew(cmdType,leftSide,rightSide,deffile,defline,defpos) => ; static function onew(class,cmdType,leftSide,rightSide,deffile,defline,defpos) #ifdef _IMPLEMENT_EXPORT_ #xcommand cimplement export onew(cmdType,leftSide,rightSide,deffile,defline,defpos) => ; function onew(class,cmdType,leftSide,rightSide,deffile,defline,defpos) #endif // _IMPLEMENT_EXPORT_ #xtranslate superclass:oinit => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(4)) #xtranslate superclass:getclass => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(5)) #xtranslate superclass:isclass => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(6)) #xtranslate superclass:getattrib => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(7)) #xtranslate superclass:setattrib => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(8)) #xtranslate superclass:onew => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+1)) #xtranslate superclass:ocreate => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+2)) #xtranslate superclass:rawoinit => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+3)) #xtranslate superclass:oinitclass => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+4)) #xtranslate superclass:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+5)) #xtranslate superclass:attribidx => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+6)) #xtranslate superclass:needclassid => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+7)) #xtranslate superclass:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.clBEHAVIOR():objmethodsimplement)).(class):(CM_OBJECT_N+8)) ********************************************************************** static function setMCMethods(pOsztaly) // Egy t”mb”t felt”lt a metaoszt ly m–veleti blokkjaival. pOsztaly[(CM_OBJECT_N+1)]:={|class,cmdType,leftSide,rightSide,deffile,defline,defpos| onew(class,cmdType,leftSide,rightSide,deffile,defline,defpos)} 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','cmdType,leftSide,rightSide,deffile,defline,defpos',nil} return nil ********************************************************************** #ifndef _NO_MCEXTRDICTCLASS_ #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 mcEXTRDICTCLASS() // El“szedi az oszt ly metaoszt ly t. (metaclass) static metaOsztaly if (metaOsztaly==nil) metaOsztaly:=META.clMETA():onew(; clBEHAVIOR(),; "EXTRDICTCLASS",; CA_EXTRDICTCLASS_N,; CM_EXTRDICTCLASS_N,; {|ta,tm|setMCams(ta,tm)},; {|t|setMCMethods(t)}) endif return metaOsztaly #endif // _NO_MCEXTRDICTCLASS_ #endif // _NO_EXTRDICTCLASS_ #ifdef _IMPLEMENT_ONEW_ ********************************************************************** cimplement onew(cmdType,leftSide,rightSide,deffile,defline,defpos) local o:=class:ocreate() EXTRDICT.o:oinit(cmdType,leftSide,rightSide,deffile,defline,defpos) return o #endif // _IMPLEMENT_ONEW_ ********************************************************************** #ifdef _IMPLEMENT_OINIT_ implement oinit(cmdType,leftSide,rightSide,deffile,defline,defpos) super:oinit() return this #endif // _IMPLEMENT_OINIT_ ********************************************************************** ********************************************************************** #endif // _EXTRDICT_PRG_OCH_ #endif // _EXTRDICT_PRG_