// LPARSER.och oszt ly implement ci¢. // Gener lva: 1999.06.10, 14:40:07, OBJCCC v2.2.03 // Meta oszt ly defin¡ci¢: Van #ifndef CA_PARSER_N #ifdef _STRICT_PARENT_ #ifdef _CA_CM_ONLY_ #include "PARSER.och" #else // _CA_CM_ONLY_ #define _CA_CM_ONLY_ #include "PARSER.och" #undef _CA_CM_ONLY_ #endif // _CA_CM_ONLY_ #else #include "PARSER.och" #endif // _STRICT_PARENT_ #endif // CA_PARSER_N #ifndef _CA_CM_ONLY_ #ifndef _LPARSER_OCH_ #define _LPARSER_OCH_ #xtranslate LPARSER.:name => \[CA_OBJECT_N+1\] #xtranslate LPARSER.:errorstream => \[CA_OBJECT_N+2\] #xtranslate LPARSER.:tbuffer => \[CA_OBJECT_N+3\] #xtranslate LPARSER.:inputreader => \[CA_READER_N+1\] #xtranslate LPARSER.:item => \[CA_TREADER_N+1\] #xtranslate LPARSER.:parserbuffer => \[CA_TREADER_N+2\] #xtranslate LPARSER.:oinit => (OBJGEN.():(4)) #xtranslate LPARSER.:getclass => (OBJGEN.():(5)) #xtranslate LPARSER.:isclass => (OBJGEN.():(6)) #xtranslate LPARSER.:getattrib => (OBJGEN.():(7)) #xtranslate LPARSER.:setattrib => (OBJGEN.():(8)) #xtranslate LPARSER.:read => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate LPARSER.:unread => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate LPARSER.:readtbuffer => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate LPARSER.:arraytbuffer => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate LPARSER.:readitem => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate LPARSER.:iserror => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate LPARSER.:adderror => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate LPARSER.:destruct => (OBJGEN.():(CM_OBJECT_N+8)) #xtranslate LPARSER.:readinput => (OBJGEN.():(CM_READER_N+1)) #xtranslate LPARSER.:unreadinput => (OBJGEN.():(CM_READER_N+2)) #xtranslate LPARSER.:addinputreader => (OBJGEN.():(CM_READER_N+3)) #xtranslate LPARSER.:putparserbuffer => (OBJGEN.():(CM_TREADER_N+1)) #xtranslate LPARSER.:getparserbuffer => (OBJGEN.():(CM_TREADER_N+2)) #xtranslate LPARSER.:unputparserbuffer => (OBJGEN.():(CM_TREADER_N+3)) #xtranslate LPARSER.:ungetparserbuffer => (OBJGEN.():(CM_TREADER_N+4)) #xtranslate LPARSER.:clearparserbuffer => (OBJGEN.():(CM_TREADER_N+5)) #xtranslate LPARSER.:rds => (OBJGEN.():(CM_TREADER_N+6)) #xtranslate LPARSER.:unrds => (OBJGEN.():(CM_TREADER_N+7)) #xtranslate LPARSER.:strparserbuffer => (OBJGEN.():(CM_TREADER_N+8)) #xtranslate LPARSER.:arrayparserbuffer => (OBJGEN.():(CM_TREADER_N+9)) // ™r”k”lve: readinput() // Specifik lva: readline() // ™r”k”lve: readitem() // ™r”k”lve: readinput() #xtranslate LPARSER.:readline => (OBJGEN.():(CM_PARSER_N+1)) // ™r”k”lve: readitem() #endif // _LPARSER_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_LPARSER_N #define CA_LPARSER_N CA_PARSER_N+0 #define CM_LPARSER_N CM_PARSER_N+1 #endif // CA_LPARSER_N #ifndef _CA_CM_ONLY_ #ifndef _LPARSERCLASS_OCH_ #define _LPARSERCLASS_OCH_ ********************************************************************** #xtranslate C.LPARSER: => (LPARSERCLASS.clLPARSER():) #xtranslate C.LPARSER:self() => (clLPARSER()) #xtranslate LPARSERCLASS.:parent => \[CA_OBJECT_N+1\] #xtranslate LPARSERCLASS.:name => \[CA_OBJECT_N+2\] #xtranslate LPARSERCLASS.:objsize => \[CA_OBJECT_N+3\] #xtranslate LPARSERCLASS.:attribs => \[CA_OBJECT_N+4\] #xtranslate LPARSERCLASS.:methods => \[CA_OBJECT_N+5\] #xtranslate LPARSERCLASS.:classid => \[CA_OBJECT_N+6\] #xtranslate LPARSERCLASS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate LPARSERCLASS.:amblock => \[CA_OBJECT_N+8\] #xtranslate LPARSERCLASS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate LPARSERCLASS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate LPARSERCLASS.:oinit => (OBJGEN.():(4)) #xtranslate LPARSERCLASS.:getclass => (OBJGEN.():(5)) #xtranslate LPARSERCLASS.:isclass => (OBJGEN.():(6)) #xtranslate LPARSERCLASS.:getattrib => (OBJGEN.():(7)) #xtranslate LPARSERCLASS.:setattrib => (OBJGEN.():(8)) #xtranslate LPARSERCLASS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate LPARSERCLASS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate LPARSERCLASS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate LPARSERCLASS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate LPARSERCLASS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate LPARSERCLASS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate LPARSERCLASS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate LPARSERCLASS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) #endif // _LPARSERCLASS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_LPARSERCLASS_N #define CA_LPARSERCLASS_N CA_PARSERCLASS_N+0 #define CM_LPARSERCLASS_N CM_PARSERCLASS_N+0 #endif // CA_LPARSERCLASS_N ********************************************************************** #ifdef _LPARSER_PRG_ #ifndef _LPARSER_PRG_OCH_ #define _LPARSER_PRG_OCH_ ********************************************************************** #xtranslate othis: => LPARSER.(othis): #xtranslate thisclass: => LPARSERCLASS.(this:getClass()): #define CTHIS LPARSER ********************************************************************** #xtranslate this: => LPARSER.(this): #xcommand implement readinput() => static function readinput(this) #xcommand implement readline() => static function readline(this) #xcommand implement readitem() => static function readitem(this) #ifdef _IMPLEMENT_EXPORT_ #xcommand implement export readinput() => function readinput(this) #xcommand implement export readline() => function readline(this) #xcommand implement export readitem() => function readitem(this) #endif // _IMPLEMENT_EXPORT_ #xtranslate super:oinit => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(4)) #xtranslate super:getclass => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(5)) #xtranslate super:isclass => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(6)) #xtranslate super:getattrib => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(7)) #xtranslate super:setattrib => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(8)) #xtranslate super:read => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+1)) #xtranslate super:unread => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+2)) #xtranslate super:readtbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+3)) #xtranslate super:arraytbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+4)) #xtranslate super:readitem => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+5)) #xtranslate super:iserror => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+6)) #xtranslate super:adderror => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+7)) #xtranslate super:destruct => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_OBJECT_N+8)) #xtranslate super:readinput => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_READER_N+1)) #xtranslate super:unreadinput => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_READER_N+2)) #xtranslate super:addinputreader => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_READER_N+3)) #xtranslate super:putparserbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+1)) #xtranslate super:getparserbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+2)) #xtranslate super:unputparserbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+3)) #xtranslate super:ungetparserbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+4)) #xtranslate super:clearparserbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+5)) #xtranslate super:rds => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+6)) #xtranslate super:unrds => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+7)) #xtranslate super:strparserbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+8)) #xtranslate super:arrayparserbuffer => (OBJGENM.(eval(BEHAVIOR.clPARSER():objmethodsimplement)).(this):(CM_TREADER_N+9)) ********************************************************************** static function setCMethods(pOsztaly) // Egy t”mb”t felt”lt az oszt ly m–veleti blokkjaival. pOsztaly[(CM_READER_N+1)]:={|this| readinput(this)} pOsztaly[(CM_PARSER_N+1)]:={|this| readline(this)} pOsztaly[(CM_OBJECT_N+5)]:={|this| readitem(this)} return pOsztaly ********************************************************************** static function setCams(ta,tm) // Egy t”mb”t felt”lt az oszt ly  ltal def. objektumok attrib£tumaival ‚s m–veleteivel. tm[(CM_READER_N+1)-CM_NIL_N] := {(CM_READER_N+1),'readinput','',nil} tm[(CM_PARSER_N+1)-CM_NIL_N] := {(CM_PARSER_N+1),'readline','',nil} tm[(CM_OBJECT_N+5)-CM_NIL_N] := {(CM_OBJECT_N+5),'readitem','',nil} return nil #ifndef _NO_CLLPARSER_ #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 clLPARSER() // El“szedi az oszt lyt. (class) static osztaly if (osztaly==nil) osztaly:=META.mcLPARSERCLASS():onew(; clPARSER(),; "LPARSER",; CA_LPARSER_N,; CM_LPARSER_N,; {|ta,tm|setCams(ta,tm)},; {|t|setCMethods(t)}) endif return osztaly #endif // _NO_CLLPARSER_ #ifndef _NO_LPARSERCLASS_ ********************************************************************** #xtranslate class: => LPARSERCLASS.(class): #ifdef _IMPLEMENT_EXPORT_ #endif // _IMPLEMENT_EXPORT_ #xtranslate superclass:oinit => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(4)) #xtranslate superclass:getclass => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(5)) #xtranslate superclass:isclass => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(6)) #xtranslate superclass:getattrib => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(7)) #xtranslate superclass:setattrib => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(8)) #xtranslate superclass:onew => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+1)) #xtranslate superclass:ocreate => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+2)) #xtranslate superclass:rawoinit => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+3)) #xtranslate superclass:oinitclass => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+4)) #xtranslate superclass:getmethodsimplement => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+5)) #xtranslate superclass:attribidx => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+6)) #xtranslate superclass:needclassid => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+7)) #xtranslate superclass:isinheritfrom => (OBJGENM.(eval(BEHAVIOR.mcPARSERCLASS():objmethodsimplement)).(class):(CM_OBJECT_N+8)) ********************************************************************** static function setMCMethods(pOsztaly) // Egy t”mb”t felt”lt a metaoszt ly m–veleti blokkjaival. return pOsztaly ********************************************************************** static function setMCams(ta,tm) // Egy t”mb”t felt”lt a metaoszt ly  ltal def. objektumok attrib£tumaival ‚s m–veleteivel. return nil ********************************************************************** #ifndef _NO_MCLPARSERCLASS_ #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 mcLPARSERCLASS() // El“szedi az oszt ly metaoszt ly t. (metaclass) static metaOsztaly if (metaOsztaly==nil) metaOsztaly:=META.clMETA():onew(; mcPARSERCLASS(),; "LPARSERCLASS",; CA_LPARSERCLASS_N,; CM_LPARSERCLASS_N,; {|ta,tm|setMCams(ta,tm)},; {|t|setMCMethods(t)}) endif return metaOsztaly #endif // _NO_MCLPARSERCLASS_ #endif // _NO_LPARSERCLASS_ ********************************************************************** #endif // _LPARSER_PRG_OCH_ #endif // _LPARSER_PRG_