// HPARSER.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 _HPARSER_OCH_ #define _HPARSER_OCH_ #xtranslate HPARSER.:name => \[CA_OBJECT_N+1\] #xtranslate HPARSER.:errorstream => \[CA_OBJECT_N+2\] #xtranslate HPARSER.:tbuffer => \[CA_OBJECT_N+3\] #xtranslate HPARSER.:inputreader => \[CA_READER_N+1\] #xtranslate HPARSER.:item => \[CA_TREADER_N+1\] #xtranslate HPARSER.:parserbuffer => \[CA_TREADER_N+2\] #xtranslate HPARSER.:oinit => (OBJGEN.():(4)) #xtranslate HPARSER.:getclass => (OBJGEN.():(5)) #xtranslate HPARSER.:isclass => (OBJGEN.():(6)) #xtranslate HPARSER.:getattrib => (OBJGEN.():(7)) #xtranslate HPARSER.:setattrib => (OBJGEN.():(8)) #xtranslate HPARSER.:read => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate HPARSER.:unread => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate HPARSER.:readtbuffer => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate HPARSER.:arraytbuffer => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate HPARSER.:readitem => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate HPARSER.:iserror => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate HPARSER.:adderror => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate HPARSER.:destruct => (OBJGEN.():(CM_OBJECT_N+8)) #xtranslate HPARSER.:readinput => (OBJGEN.():(CM_READER_N+1)) #xtranslate HPARSER.:unreadinput => (OBJGEN.():(CM_READER_N+2)) #xtranslate HPARSER.:addinputreader => (OBJGEN.():(CM_READER_N+3)) #xtranslate HPARSER.:putparserbuffer => (OBJGEN.():(CM_TREADER_N+1)) #xtranslate HPARSER.:getparserbuffer => (OBJGEN.():(CM_TREADER_N+2)) #xtranslate HPARSER.:unputparserbuffer => (OBJGEN.():(CM_TREADER_N+3)) #xtranslate HPARSER.:ungetparserbuffer => (OBJGEN.():(CM_TREADER_N+4)) #xtranslate HPARSER.:clearparserbuffer => (OBJGEN.():(CM_TREADER_N+5)) #xtranslate HPARSER.:rds => (OBJGEN.():(CM_TREADER_N+6)) #xtranslate HPARSER.:unrds => (OBJGEN.():(CM_TREADER_N+7)) #xtranslate HPARSER.:strparserbuffer => (OBJGEN.():(CM_TREADER_N+8)) #xtranslate HPARSER.:arrayparserbuffer => (OBJGEN.():(CM_TREADER_N+9)) #xtranslate HPARSER.:soreleje => \[CA_PARSER_N+1\] #xtranslate HPARSER.:defdict => \[CA_PARSER_N+2\] #xtranslate HPARSER.:xtrdict => \[CA_PARSER_N+3\] #xtranslate HPARSER.:ifstack => \[CA_PARSER_N+4\] #xtranslate HPARSER.:branch => \[CA_PARSER_N+5\] #xtranslate HPARSER.:inclobj => \[CA_PARSER_N+6\] #xtranslate HPARSER.:lasteos => \[CA_PARSER_N+7\] // ™r”k”lve: readitem() // Specifik lva: parseline() // Specifik lva: parsefalseline() // Specifik lva: parsedefine(mnameToken) // Specifik lva: parseundef(mnameToken) // Specifik lva: parsetranslate(mNameToken) // Specifik lva: parseifdef(mnameToken,ifdefType) // Specifik lva: parseelse(mnameToken) // Specifik lva: parseendif(mnameToken) // Specifik lva: parseinclude(mnameToken) // Specifik lva: parseltranslate(mnameToken) // Specifik lva: parsertranslate(mnameToken) // Specifik lva: adddefine(mnameToken,name,params) // Specifik lva: addxtranslate(mnameToken,leftSide,rightSide) // Specifik lva: sornyel(kiirBlock) // Specifik lva: errorgen(token,errorCode,params) // Specifik lva: incomperrorgen(token,errorcode,params) // Specifik lva: chkendoffile() // ™r”k”lve: oinit(inputReader,name,defDict,xtrDict,inclObj,errorStream) // ™r”k”lve: readitem() #xtranslate HPARSER.:parseline => (OBJGEN.():(CM_PARSER_N+1)) #xtranslate HPARSER.:parsefalseline => (OBJGEN.():(CM_PARSER_N+2)) #xtranslate HPARSER.:parsedefine => (OBJGEN.():(CM_PARSER_N+3)) #xtranslate HPARSER.:parseundef => (OBJGEN.():(CM_PARSER_N+4)) #xtranslate HPARSER.:parsetranslate => (OBJGEN.():(CM_PARSER_N+5)) #xtranslate HPARSER.:parseifdef => (OBJGEN.():(CM_PARSER_N+6)) #xtranslate HPARSER.:parseelse => (OBJGEN.():(CM_PARSER_N+7)) #xtranslate HPARSER.:parseendif => (OBJGEN.():(CM_PARSER_N+8)) #xtranslate HPARSER.:parseinclude => (OBJGEN.():(CM_PARSER_N+9)) #xtranslate HPARSER.:parseltranslate => (OBJGEN.():(CM_PARSER_N+10)) #xtranslate HPARSER.:parsertranslate => (OBJGEN.():(CM_PARSER_N+11)) #xtranslate HPARSER.:adddefine => (OBJGEN.():(CM_PARSER_N+12)) #xtranslate HPARSER.:addxtranslate => (OBJGEN.():(CM_PARSER_N+13)) #xtranslate HPARSER.:sornyel => (OBJGEN.():(CM_PARSER_N+14)) #xtranslate HPARSER.:errorgen => (OBJGEN.():(CM_PARSER_N+15)) #xtranslate HPARSER.:incomperrorgen => (OBJGEN.():(CM_PARSER_N+16)) #xtranslate HPARSER.:chkendoffile => (OBJGEN.():(CM_PARSER_N+17)) // ™r”k”lve: oinit(inputReader,name,defDict,xtrDict,inclObj,errorStream) #endif // _HPARSER_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_HPARSER_N #define CA_HPARSER_N CA_PARSER_N+7 #define CM_HPARSER_N CM_PARSER_N+17 #endif // CA_HPARSER_N #ifndef _CA_CM_ONLY_ #ifndef _HPARSERCLASS_OCH_ #define _HPARSERCLASS_OCH_ ********************************************************************** #xtranslate C.HPARSER: => (HPARSERCLASS.clHPARSER():) #xtranslate C.HPARSER:self() => (clHPARSER()) #xtranslate HPARSERCLASS.:parent => \[CA_OBJECT_N+1\] #xtranslate HPARSERCLASS.:name => \[CA_OBJECT_N+2\] #xtranslate HPARSERCLASS.:objsize => \[CA_OBJECT_N+3\] #xtranslate HPARSERCLASS.:attribs => \[CA_OBJECT_N+4\] #xtranslate HPARSERCLASS.:methods => \[CA_OBJECT_N+5\] #xtranslate HPARSERCLASS.:classid => \[CA_OBJECT_N+6\] #xtranslate HPARSERCLASS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate HPARSERCLASS.:amblock => \[CA_OBJECT_N+8\] #xtranslate HPARSERCLASS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate HPARSERCLASS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate HPARSERCLASS.:oinit => (OBJGEN.():(4)) #xtranslate HPARSERCLASS.:getclass => (OBJGEN.():(5)) #xtranslate HPARSERCLASS.:isclass => (OBJGEN.():(6)) #xtranslate HPARSERCLASS.:getattrib => (OBJGEN.():(7)) #xtranslate HPARSERCLASS.:setattrib => (OBJGEN.():(8)) #xtranslate HPARSERCLASS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate HPARSERCLASS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate HPARSERCLASS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate HPARSERCLASS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate HPARSERCLASS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate HPARSERCLASS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate HPARSERCLASS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate HPARSERCLASS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) // ™r”k”lve: onew(inputReader,name,defDict,xtrDict,inclObj,errorStream) // ™r”k”lve: oinitclass() // ™r”k”lve: onew(inputReader,name,defDict,xtrDict,inclObj,errorStream) // ™r”k”lve: oinitclass() #endif // _HPARSERCLASS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_HPARSERCLASS_N #define CA_HPARSERCLASS_N CA_PARSERCLASS_N+0 #define CM_HPARSERCLASS_N CM_PARSERCLASS_N+0 #endif // CA_HPARSERCLASS_N ********************************************************************** #ifdef _HPARSER_PRG_ #ifndef _HPARSER_PRG_OCH_ #define _HPARSER_PRG_OCH_ ********************************************************************** #xtranslate othis: => HPARSER.(othis): #xtranslate thisclass: => HPARSERCLASS.(this:getClass()): #define CTHIS HPARSER ********************************************************************** #xtranslate this: => HPARSER.(this): #xcommand implement readitem() => static function readitem(this) #xcommand implement parseline() => static function parseline(this) #xcommand implement parsefalseline() => ; static function parsefalseline(this) #xcommand implement parsedefine(mnameToken) => ; static function hpr_prsDefine(this,mnameToken) #xcommand implement parseundef(mnameToken) => ; static function hpr_prsUndef(this,mnameToken) #xcommand implement parsetranslate(mNameToken) => ; static function parsetranslate(this,mNameToken) #xcommand implement parseifdef(mnameToken,ifdefType) => ; static function hpr_prsIfdef(this,mnameToken,ifdefType) #xcommand implement parseelse(mnameToken) => ; static function hpr_prsElse(this,mnameToken) #xcommand implement parseendif(mnameToken) => ; static function hpr_prsEndif(this,mnameToken) #xcommand implement parseinclude(mnameToken) => ; static function parseinclude(this,mnameToken) #xcommand implement parseltranslate(mnameToken) => ; static function parseltranslate(this,mnameToken) #xcommand implement parsertranslate(mnameToken) => ; static function parsertranslate(this,mnameToken) #xcommand implement adddefine(mnameToken,name,params) => ; static function hpr_addDefine(this,mnameToken,name,params) #xcommand implement addxtranslate(mnameToken,leftSide,rightSide) => ; static function addxtranslate(this,mnameToken,leftSide,rightSide) #xcommand implement sornyel(kiirBlock) => ; static function sornyel(this,kiirBlock) #xcommand implement errorgen(token,errorCode,params) => ; static function errorgen(this,token,errorCode,params) #xcommand implement incomperrorgen(token,errorcode,params) => ; static function incomperrorgen(this,token,errorcode,params) #xcommand implement chkendoffile() => static function chkendoffile(this) #xcommand implement oinit(inputReader,name,defDict,xtrDict,inclObj,errorStream) => ; static function oinit(this,inputReader,name,defDict,xtrDict,inclObj,errorStream) #ifdef _IMPLEMENT_EXPORT_ #xcommand implement export readitem() => function readitem(this) #xcommand implement export parseline() => function parseline(this) #xcommand implement export parsefalseline() => ; function parsefalseline(this) #xcommand implement export parsedefine(mnameToken) => ; function hpr_prsDefine(this,mnameToken) #xcommand implement export parseundef(mnameToken) => ; function hpr_prsUndef(this,mnameToken) #xcommand implement export parsetranslate(mNameToken) => ; function parsetranslate(this,mNameToken) #xcommand implement export parseifdef(mnameToken,ifdefType) => ; function hpr_prsIfdef(this,mnameToken,ifdefType) #xcommand implement export parseelse(mnameToken) => ; function hpr_prsElse(this,mnameToken) #xcommand implement export parseendif(mnameToken) => ; function hpr_prsEndif(this,mnameToken) #xcommand implement export parseinclude(mnameToken) => ; function parseinclude(this,mnameToken) #xcommand implement export parseltranslate(mnameToken) => ; function parseltranslate(this,mnameToken) #xcommand implement export parsertranslate(mnameToken) => ; function parsertranslate(this,mnameToken) #xcommand implement export adddefine(mnameToken,name,params) => ; function hpr_addDefine(this,mnameToken,name,params) #xcommand implement export addxtranslate(mnameToken,leftSide,rightSide) => ; function addxtranslate(this,mnameToken,leftSide,rightSide) #xcommand implement export sornyel(kiirBlock) => ; function sornyel(this,kiirBlock) #xcommand implement export errorgen(token,errorCode,params) => ; function errorgen(this,token,errorCode,params) #xcommand implement export incomperrorgen(token,errorcode,params) => ; function incomperrorgen(this,token,errorcode,params) #xcommand implement export chkendoffile() => function chkendoffile(this) #xcommand implement export oinit(inputReader,name,defDict,xtrDict,inclObj,errorStream) => ; function oinit(this,inputReader,name,defDict,xtrDict,inclObj,errorStream) #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_OBJECT_N+5)]:={|this| readitem(this)} pOsztaly[(CM_PARSER_N+1)]:={|this| parseline(this)} pOsztaly[(CM_PARSER_N+2)]:={|this| parsefalseline(this)} pOsztaly[(CM_PARSER_N+3)]:={|this,mnameToken| hpr_prsDefine(this,mnameToken)} pOsztaly[(CM_PARSER_N+4)]:={|this,mnameToken| hpr_prsUndef(this,mnameToken)} pOsztaly[(CM_PARSER_N+5)]:={|this,mNameToken| parsetranslate(this,mNameToken)} pOsztaly[(CM_PARSER_N+6)]:={|this,mnameToken,ifdefType| hpr_prsIfdef(this,mnameToken,ifdefType)} pOsztaly[(CM_PARSER_N+7)]:={|this,mnameToken| hpr_prsElse(this,mnameToken)} pOsztaly[(CM_PARSER_N+8)]:={|this,mnameToken| hpr_prsEndif(this,mnameToken)} pOsztaly[(CM_PARSER_N+9)]:={|this,mnameToken| parseinclude(this,mnameToken)} pOsztaly[(CM_PARSER_N+10)]:={|this,mnameToken| parseltranslate(this,mnameToken)} pOsztaly[(CM_PARSER_N+11)]:={|this,mnameToken| parsertranslate(this,mnameToken)} pOsztaly[(CM_PARSER_N+12)]:={|this,mnameToken,name,params| hpr_addDefine(this,mnameToken,name,params)} pOsztaly[(CM_PARSER_N+13)]:={|this,mnameToken,leftSide,rightSide| addxtranslate(this,mnameToken,leftSide,rightSide)} pOsztaly[(CM_PARSER_N+14)]:={|this,kiirBlock| sornyel(this,kiirBlock)} pOsztaly[(CM_PARSER_N+15)]:={|this,token,errorCode,params| errorgen(this,token,errorCode,params)} pOsztaly[(CM_PARSER_N+16)]:={|this,token,errorcode,params| incomperrorgen(this,token,errorcode,params)} pOsztaly[(CM_PARSER_N+17)]:={|this| chkendoffile(this)} pOsztaly[(4)]:={|this,inputReader,name,defDict,xtrDict,inclObj,errorStream| oinit(this,inputReader,name,defDict,xtrDict,inclObj,errorStream)} 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_PARSER_N+1-CA_NIL_N] := {CA_PARSER_N+1,'soreleje',nil} ta[CA_PARSER_N+2-CA_NIL_N] := {CA_PARSER_N+2,'defdict',nil} ta[CA_PARSER_N+3-CA_NIL_N] := {CA_PARSER_N+3,'xtrdict',nil} ta[CA_PARSER_N+4-CA_NIL_N] := {CA_PARSER_N+4,'ifstack',nil} ta[CA_PARSER_N+5-CA_NIL_N] := {CA_PARSER_N+5,'branch', } ta[CA_PARSER_N+6-CA_NIL_N] := {CA_PARSER_N+6,'inclobj', } ta[CA_PARSER_N+7-CA_NIL_N] := {CA_PARSER_N+7,'lasteos', } tm[(CM_OBJECT_N+5)-CM_NIL_N] := {(CM_OBJECT_N+5),'readitem','',nil} tm[(CM_PARSER_N+1)-CM_NIL_N] := {(CM_PARSER_N+1),'parseline','',nil} tm[(CM_PARSER_N+2)-CM_NIL_N] := {(CM_PARSER_N+2),'parsefalseline','',nil} tm[(CM_PARSER_N+3)-CM_NIL_N] := {(CM_PARSER_N+3),'parsedefine','mnameToken',nil} tm[(CM_PARSER_N+4)-CM_NIL_N] := {(CM_PARSER_N+4),'parseundef','mnameToken',nil} tm[(CM_PARSER_N+5)-CM_NIL_N] := {(CM_PARSER_N+5),'parsetranslate','mNameToken',nil} tm[(CM_PARSER_N+6)-CM_NIL_N] := {(CM_PARSER_N+6),'parseifdef','mnameToken,ifdefType',nil} tm[(CM_PARSER_N+7)-CM_NIL_N] := {(CM_PARSER_N+7),'parseelse','mnameToken',nil} tm[(CM_PARSER_N+8)-CM_NIL_N] := {(CM_PARSER_N+8),'parseendif','mnameToken',nil} tm[(CM_PARSER_N+9)-CM_NIL_N] := {(CM_PARSER_N+9),'parseinclude','mnameToken',nil} tm[(CM_PARSER_N+10)-CM_NIL_N] := {(CM_PARSER_N+10),'parseltranslate','mnameToken',nil} tm[(CM_PARSER_N+11)-CM_NIL_N] := {(CM_PARSER_N+11),'parsertranslate','mnameToken',nil} tm[(CM_PARSER_N+12)-CM_NIL_N] := {(CM_PARSER_N+12),'adddefine','mnameToken,name,params',nil} tm[(CM_PARSER_N+13)-CM_NIL_N] := {(CM_PARSER_N+13),'addxtranslate','mnameToken,leftSide,rightSide',nil} tm[(CM_PARSER_N+14)-CM_NIL_N] := {(CM_PARSER_N+14),'sornyel','kiirBlock',nil} tm[(CM_PARSER_N+15)-CM_NIL_N] := {(CM_PARSER_N+15),'errorgen','token,errorCode,params',nil} tm[(CM_PARSER_N+16)-CM_NIL_N] := {(CM_PARSER_N+16),'incomperrorgen','token,errorcode,params',nil} tm[(CM_PARSER_N+17)-CM_NIL_N] := {(CM_PARSER_N+17),'chkendoffile','',nil} tm[(4)-CM_NIL_N] := {(4),'oinit','inputReader,name,defDict,xtrDict,inclObj,errorStream',nil} return nil #ifndef _NO_CLHPARSER_ #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 clHPARSER() // El“szedi az oszt lyt. (class) static osztaly if (osztaly==nil) osztaly:=META.mcHPARSERCLASS():onew(; clPARSER(),; "HPARSER",; CA_HPARSER_N,; CM_HPARSER_N,; {|ta,tm|setCams(ta,tm)},; {|t|setCMethods(t)}) endif return osztaly #endif // _NO_CLHPARSER_ #ifndef _NO_HPARSERCLASS_ ********************************************************************** #xtranslate class: => HPARSERCLASS.(class): #xcommand cimplement onew(inputReader,name,defDict,xtrDict,inclObj,errorStream) => ; static function onew(class,inputReader,name,defDict,xtrDict,inclObj,errorStream) #xcommand cimplement oinitclass() => static function oinitclass(class) #ifdef _IMPLEMENT_EXPORT_ #xcommand cimplement export onew(inputReader,name,defDict,xtrDict,inclObj,errorStream) => ; function onew(class,inputReader,name,defDict,xtrDict,inclObj,errorStream) #xcommand cimplement export oinitclass() => function oinitclass(class) #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. pOsztaly[(CM_OBJECT_N+1)]:={|class,inputReader,name,defDict,xtrDict,inclObj,errorStream| onew(class,inputReader,name,defDict,xtrDict,inclObj,errorStream)} pOsztaly[(CM_OBJECT_N+4)]:={|class| oinitclass(class)} 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','inputReader,name,defDict,xtrDict,inclObj,errorStream',nil} tm[(CM_OBJECT_N+4)-CM_NIL_N] := {(CM_OBJECT_N+4),'oinitclass','',nil} return nil ********************************************************************** #ifndef _NO_MCHPARSERCLASS_ #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 mcHPARSERCLASS() // El“szedi az oszt ly metaoszt ly t. (metaclass) static metaOsztaly if (metaOsztaly==nil) metaOsztaly:=META.clMETA():onew(; mcPARSERCLASS(),; "HPARSERCLASS",; CA_HPARSERCLASS_N,; CM_HPARSERCLASS_N,; {|ta,tm|setMCams(ta,tm)},; {|t|setMCMethods(t)}) endif return metaOsztaly #endif // _NO_MCHPARSERCLASS_ #endif // _NO_HPARSERCLASS_ #ifdef _IMPLEMENT_ONEW_ ********************************************************************** cimplement onew(inputReader,name,defDict,xtrDict,inclObj,errorStream) local o:=class:ocreate() HPARSER.o:oinit(inputReader,name,defDict,xtrDict,inclObj,errorStream) return o #endif // _IMPLEMENT_ONEW_ ********************************************************************** #ifdef _IMPLEMENT_OINIT_ implement oinit(inputReader,name,defDict,xtrDict,inclObj,errorStream) super:oinit() return this #endif // _IMPLEMENT_OINIT_ ********************************************************************** ********************************************************************** #endif // _HPARSER_PRG_OCH_ #endif // _HPARSER_PRG_