// MPARSER.och oszt ly implement ci¢. // Gener lva: 1999.06.10, 14:41:19, 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 _MPARSER_OCH_ #define _MPARSER_OCH_ #xtranslate MPARSER.:name => \[CA_OBJECT_N+1\] #xtranslate MPARSER.:errorstream => \[CA_OBJECT_N+2\] #xtranslate MPARSER.:tbuffer => \[CA_OBJECT_N+3\] #xtranslate MPARSER.:inputreader => \[CA_READER_N+1\] #xtranslate MPARSER.:item => \[CA_TREADER_N+1\] #xtranslate MPARSER.:parserbuffer => \[CA_TREADER_N+2\] #xtranslate MPARSER.:oinit => (OBJGEN.():(4)) #xtranslate MPARSER.:getclass => (OBJGEN.():(5)) #xtranslate MPARSER.:isclass => (OBJGEN.():(6)) #xtranslate MPARSER.:getattrib => (OBJGEN.():(7)) #xtranslate MPARSER.:setattrib => (OBJGEN.():(8)) #xtranslate MPARSER.:read => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate MPARSER.:unread => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate MPARSER.:readtbuffer => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate MPARSER.:arraytbuffer => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate MPARSER.:readitem => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate MPARSER.:iserror => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate MPARSER.:adderror => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate MPARSER.:destruct => (OBJGEN.():(CM_OBJECT_N+8)) #xtranslate MPARSER.:readinput => (OBJGEN.():(CM_READER_N+1)) #xtranslate MPARSER.:unreadinput => (OBJGEN.():(CM_READER_N+2)) #xtranslate MPARSER.:addinputreader => (OBJGEN.():(CM_READER_N+3)) #xtranslate MPARSER.:putparserbuffer => (OBJGEN.():(CM_TREADER_N+1)) #xtranslate MPARSER.:getparserbuffer => (OBJGEN.():(CM_TREADER_N+2)) #xtranslate MPARSER.:unputparserbuffer => (OBJGEN.():(CM_TREADER_N+3)) #xtranslate MPARSER.:ungetparserbuffer => (OBJGEN.():(CM_TREADER_N+4)) #xtranslate MPARSER.:clearparserbuffer => (OBJGEN.():(CM_TREADER_N+5)) #xtranslate MPARSER.:rds => (OBJGEN.():(CM_TREADER_N+6)) #xtranslate MPARSER.:unrds => (OBJGEN.():(CM_TREADER_N+7)) #xtranslate MPARSER.:strparserbuffer => (OBJGEN.():(CM_TREADER_N+8)) #xtranslate MPARSER.:arrayparserbuffer => (OBJGEN.():(CM_TREADER_N+9)) #xtranslate MPARSER.:soreleje => \[CA_PARSER_N+1\] #xtranslate MPARSER.:makrobuf => \[CA_PARSER_N+2\] // Specifik lva: startmakrobuf(item) // Specifik lva: rdsmakrobuf() // Specifik lva: unrdsmakrobuf(n) // ™r”k”lve: readitem() // Specifik lva: parsefun(edefdict) // Specifik lva: parsetokenlist(leftTokenList,cmd4,paramValues,toEOL) // Specifik lva: parsextr(extrdict) // Specifik lva: parsextrtree(trdictTree,mi,toEOL) // Specifik lva: mleftxntoken(leftToken,cmd4) // Specifik lva: mleftxmrtoken(leftToken,cmd4,paramValues,nUres) // Specifik lva: mleftxrmmtoken(leftToken,cmd4) // Specifik lva: mleftxwmtoken(leftToken) // Specifik lva: mleftxeemtoken(leftToken) // Specifik lva: mleftxlmtoken(leftToken,cmd4) // Specifik lva: mleftxrsmmtoken(leftToken,cmd4) // ™r”k”lve: oinit(inputReader,name,errorStream) #xtranslate MPARSER.:startmakrobuf => (OBJGEN.():(CM_PARSER_N+1)) #xtranslate MPARSER.:rdsmakrobuf => (OBJGEN.():(CM_PARSER_N+2)) #xtranslate MPARSER.:unrdsmakrobuf => (OBJGEN.():(CM_PARSER_N+3)) // ™r”k”lve: readitem() #xtranslate MPARSER.:parsefun => (OBJGEN.():(CM_PARSER_N+4)) #xtranslate MPARSER.:parsetokenlist => (OBJGEN.():(CM_PARSER_N+5)) #xtranslate MPARSER.:parsextr => (OBJGEN.():(CM_PARSER_N+6)) #xtranslate MPARSER.:parsextrtree => (OBJGEN.():(CM_PARSER_N+7)) #xtranslate MPARSER.:mleftxntoken => (OBJGEN.():(CM_PARSER_N+8)) #xtranslate MPARSER.:mleftxmrtoken => (OBJGEN.():(CM_PARSER_N+9)) #xtranslate MPARSER.:mleftxrmmtoken => (OBJGEN.():(CM_PARSER_N+10)) #xtranslate MPARSER.:mleftxwmtoken => (OBJGEN.():(CM_PARSER_N+11)) #xtranslate MPARSER.:mleftxeemtoken => (OBJGEN.():(CM_PARSER_N+12)) #xtranslate MPARSER.:mleftxlmtoken => (OBJGEN.():(CM_PARSER_N+13)) #xtranslate MPARSER.:mleftxrsmmtoken => (OBJGEN.():(CM_PARSER_N+14)) // ™r”k”lve: oinit(inputReader,name,errorStream) #endif // _MPARSER_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_MPARSER_N #define CA_MPARSER_N CA_PARSER_N+2 #define CM_MPARSER_N CM_PARSER_N+14 #endif // CA_MPARSER_N #ifndef _CA_CM_ONLY_ #ifndef _MPARSERCLASS_OCH_ #define _MPARSERCLASS_OCH_ ********************************************************************** #xtranslate C.MPARSER: => (MPARSERCLASS.clMPARSER():) #xtranslate C.MPARSER:self() => (clMPARSER()) #xtranslate MPARSERCLASS.:parent => \[CA_OBJECT_N+1\] #xtranslate MPARSERCLASS.:name => \[CA_OBJECT_N+2\] #xtranslate MPARSERCLASS.:objsize => \[CA_OBJECT_N+3\] #xtranslate MPARSERCLASS.:attribs => \[CA_OBJECT_N+4\] #xtranslate MPARSERCLASS.:methods => \[CA_OBJECT_N+5\] #xtranslate MPARSERCLASS.:classid => \[CA_OBJECT_N+6\] #xtranslate MPARSERCLASS.:parentclassids => \[CA_OBJECT_N+7\] #xtranslate MPARSERCLASS.:amblock => \[CA_OBJECT_N+8\] #xtranslate MPARSERCLASS.:methodsblock => \[CA_OBJECT_N+9\] #xtranslate MPARSERCLASS.:objmethodsimplement => \[CA_OBJECT_N+10\] #xtranslate MPARSERCLASS.:oinit => (OBJGEN.():(4)) #xtranslate MPARSERCLASS.:getclass => (OBJGEN.():(5)) #xtranslate MPARSERCLASS.:isclass => (OBJGEN.():(6)) #xtranslate MPARSERCLASS.:getattrib => (OBJGEN.():(7)) #xtranslate MPARSERCLASS.:setattrib => (OBJGEN.():(8)) #xtranslate MPARSERCLASS.:onew => (OBJGEN.():(CM_OBJECT_N+1)) #xtranslate MPARSERCLASS.:ocreate => (OBJGEN.():(CM_OBJECT_N+2)) #xtranslate MPARSERCLASS.:rawoinit => (OBJGEN.():(CM_OBJECT_N+3)) #xtranslate MPARSERCLASS.:oinitclass => (OBJGEN.():(CM_OBJECT_N+4)) #xtranslate MPARSERCLASS.:getmethodsimplement => (OBJGEN.():(CM_OBJECT_N+5)) #xtranslate MPARSERCLASS.:attribidx => (OBJGEN.():(CM_OBJECT_N+6)) #xtranslate MPARSERCLASS.:needclassid => (OBJGEN.():(CM_OBJECT_N+7)) #xtranslate MPARSERCLASS.:isinheritfrom => (OBJGEN.():(CM_OBJECT_N+8)) // ™r”k”lve: onew(inputReader,name,errorStream) // Specifik lva: getcloseparent(aChar) // Specifik lva: trimtokenlist(tList) // Specifik lva: parse(item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg) // ™r”k”lve: onew(inputReader,name,errorStream) #xtranslate MPARSERCLASS.:getcloseparent => (OBJGEN.():(CM_PARSERCLASS_N+1)) #xtranslate MPARSERCLASS.:trimtokenlist => (OBJGEN.():(CM_PARSERCLASS_N+2)) #xtranslate MPARSERCLASS.:parse => (OBJGEN.():(CM_PARSERCLASS_N+3)) #endif // _MPARSERCLASS_OCH_ #endif // _CA_CM_ONLY_ #ifndef CA_MPARSERCLASS_N #define CA_MPARSERCLASS_N CA_PARSERCLASS_N+0 #define CM_MPARSERCLASS_N CM_PARSERCLASS_N+3 #endif // CA_MPARSERCLASS_N ********************************************************************** #ifdef _MPARSER_PRG_ #ifndef _MPARSER_PRG_OCH_ #define _MPARSER_PRG_OCH_ ********************************************************************** #xtranslate othis: => MPARSER.(othis): #xtranslate thisclass: => MPARSERCLASS.(this:getClass()): #define CTHIS MPARSER ********************************************************************** #xtranslate this: => MPARSER.(this): #xcommand implement startmakrobuf(item) => ; static function startmakrobuf(this,item) #xcommand implement rdsmakrobuf() => static function rdsmakrobuf(this) #xcommand implement unrdsmakrobuf(n) => ; static function unrdsmakrobuf(this,n) #xcommand implement readitem() => static function readitem(this) #xcommand implement parsefun(edefdict) => ; static function parsefun(this,edefdict) #xcommand implement parsetokenlist(leftTokenList,cmd4,paramValues,toEOL) => ; static function parsetokenlist(this,leftTokenList,cmd4,paramValues,toEOL) #xcommand implement parsextr(extrdict) => ; static function parsextr(this,extrdict) #xcommand implement parsextrtree(trdictTree,mi,toEOL) => ; static function parsextrtree(this,trdictTree,mi,toEOL) #xcommand implement mleftxntoken(leftToken,cmd4) => ; static function mleftxntoken(this,leftToken,cmd4) #xcommand implement mleftxmrtoken(leftToken,cmd4,paramValues,nUres) => ; static function mleftxmrtoken(this,leftToken,cmd4,paramValues,nUres) #xcommand implement mleftxrmmtoken(leftToken,cmd4) => ; static function mleftxrmmtoken(this,leftToken,cmd4) #xcommand implement mleftxwmtoken(leftToken) => ; static function mleftxwmtoken(this,leftToken) #xcommand implement mleftxeemtoken(leftToken) => ; static function mleftxeemtoken(this,leftToken) #xcommand implement mleftxlmtoken(leftToken,cmd4) => ; static function mleftxlmtoken(this,leftToken,cmd4) #xcommand implement mleftxrsmmtoken(leftToken,cmd4) => ; static function mleftxrsmmtoken(this,leftToken,cmd4) #xcommand implement oinit(inputReader,name,errorStream) => ; static function oinit(this,inputReader,name,errorStream) #ifdef _IMPLEMENT_EXPORT_ #xcommand implement export startmakrobuf(item) => ; function startmakrobuf(this,item) #xcommand implement export rdsmakrobuf() => function rdsmakrobuf(this) #xcommand implement export unrdsmakrobuf(n) => ; function unrdsmakrobuf(this,n) #xcommand implement export readitem() => function readitem(this) #xcommand implement export parsefun(edefdict) => ; function parsefun(this,edefdict) #xcommand implement export parsetokenlist(leftTokenList,cmd4,paramValues,toEOL) => ; function parsetokenlist(this,leftTokenList,cmd4,paramValues,toEOL) #xcommand implement export parsextr(extrdict) => ; function parsextr(this,extrdict) #xcommand implement export parsextrtree(trdictTree,mi,toEOL) => ; function parsextrtree(this,trdictTree,mi,toEOL) #xcommand implement export mleftxntoken(leftToken,cmd4) => ; function mleftxntoken(this,leftToken,cmd4) #xcommand implement export mleftxmrtoken(leftToken,cmd4,paramValues,nUres) => ; function mleftxmrtoken(this,leftToken,cmd4,paramValues,nUres) #xcommand implement export mleftxrmmtoken(leftToken,cmd4) => ; function mleftxrmmtoken(this,leftToken,cmd4) #xcommand implement export mleftxwmtoken(leftToken) => ; function mleftxwmtoken(this,leftToken) #xcommand implement export mleftxeemtoken(leftToken) => ; function mleftxeemtoken(this,leftToken) #xcommand implement export mleftxlmtoken(leftToken,cmd4) => ; function mleftxlmtoken(this,leftToken,cmd4) #xcommand implement export mleftxrsmmtoken(leftToken,cmd4) => ; function mleftxrsmmtoken(this,leftToken,cmd4) #xcommand implement export oinit(inputReader,name,errorStream) => ; function oinit(this,inputReader,name,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_PARSER_N+1)]:={|this,item| startmakrobuf(this,item)} pOsztaly[(CM_PARSER_N+2)]:={|this| rdsmakrobuf(this)} pOsztaly[(CM_PARSER_N+3)]:={|this,n| unrdsmakrobuf(this,n)} pOsztaly[(CM_OBJECT_N+5)]:={|this| readitem(this)} pOsztaly[(CM_PARSER_N+4)]:={|this,edefdict| parsefun(this,edefdict)} pOsztaly[(CM_PARSER_N+5)]:={|this,leftTokenList,cmd4,paramValues,toEOL| parsetokenlist(this,leftTokenList,cmd4,paramValues,toEOL)} pOsztaly[(CM_PARSER_N+6)]:={|this,extrdict| parsextr(this,extrdict)} pOsztaly[(CM_PARSER_N+7)]:={|this,trdictTree,mi,toEOL| parsextrtree(this,trdictTree,mi,toEOL)} pOsztaly[(CM_PARSER_N+8)]:={|this,leftToken,cmd4| mleftxntoken(this,leftToken,cmd4)} pOsztaly[(CM_PARSER_N+9)]:={|this,leftToken,cmd4,paramValues,nUres| mleftxmrtoken(this,leftToken,cmd4,paramValues,nUres)} pOsztaly[(CM_PARSER_N+10)]:={|this,leftToken,cmd4| mleftxrmmtoken(this,leftToken,cmd4)} pOsztaly[(CM_PARSER_N+11)]:={|this,leftToken| mleftxwmtoken(this,leftToken)} pOsztaly[(CM_PARSER_N+12)]:={|this,leftToken| mleftxeemtoken(this,leftToken)} pOsztaly[(CM_PARSER_N+13)]:={|this,leftToken,cmd4| mleftxlmtoken(this,leftToken,cmd4)} pOsztaly[(CM_PARSER_N+14)]:={|this,leftToken,cmd4| mleftxrsmmtoken(this,leftToken,cmd4)} pOsztaly[(4)]:={|this,inputReader,name,errorStream| oinit(this,inputReader,name,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,'makrobuf', } tm[(CM_PARSER_N+1)-CM_NIL_N] := {(CM_PARSER_N+1),'startmakrobuf','item',nil} tm[(CM_PARSER_N+2)-CM_NIL_N] := {(CM_PARSER_N+2),'rdsmakrobuf','',nil} tm[(CM_PARSER_N+3)-CM_NIL_N] := {(CM_PARSER_N+3),'unrdsmakrobuf','n',nil} tm[(CM_OBJECT_N+5)-CM_NIL_N] := {(CM_OBJECT_N+5),'readitem','',nil} tm[(CM_PARSER_N+4)-CM_NIL_N] := {(CM_PARSER_N+4),'parsefun','edefdict',nil} tm[(CM_PARSER_N+5)-CM_NIL_N] := {(CM_PARSER_N+5),'parsetokenlist','leftTokenList,cmd4,paramValues,toEOL',nil} tm[(CM_PARSER_N+6)-CM_NIL_N] := {(CM_PARSER_N+6),'parsextr','extrdict',nil} tm[(CM_PARSER_N+7)-CM_NIL_N] := {(CM_PARSER_N+7),'parsextrtree','trdictTree,mi,toEOL',nil} tm[(CM_PARSER_N+8)-CM_NIL_N] := {(CM_PARSER_N+8),'mleftxntoken','leftToken,cmd4',nil} tm[(CM_PARSER_N+9)-CM_NIL_N] := {(CM_PARSER_N+9),'mleftxmrtoken','leftToken,cmd4,paramValues,nUres',nil} tm[(CM_PARSER_N+10)-CM_NIL_N] := {(CM_PARSER_N+10),'mleftxrmmtoken','leftToken,cmd4',nil} tm[(CM_PARSER_N+11)-CM_NIL_N] := {(CM_PARSER_N+11),'mleftxwmtoken','leftToken',nil} tm[(CM_PARSER_N+12)-CM_NIL_N] := {(CM_PARSER_N+12),'mleftxeemtoken','leftToken',nil} tm[(CM_PARSER_N+13)-CM_NIL_N] := {(CM_PARSER_N+13),'mleftxlmtoken','leftToken,cmd4',nil} tm[(CM_PARSER_N+14)-CM_NIL_N] := {(CM_PARSER_N+14),'mleftxrsmmtoken','leftToken,cmd4',nil} tm[(4)-CM_NIL_N] := {(4),'oinit','inputReader,name,errorStream',nil} return nil #ifndef _NO_CLMPARSER_ #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 clMPARSER() // El“szedi az oszt lyt. (class) static osztaly if (osztaly==nil) osztaly:=META.mcMPARSERCLASS():onew(; clPARSER(),; "MPARSER",; CA_MPARSER_N,; CM_MPARSER_N,; {|ta,tm|setCams(ta,tm)},; {|t|setCMethods(t)}) endif return osztaly #endif // _NO_CLMPARSER_ #ifndef _NO_MPARSERCLASS_ ********************************************************************** #xtranslate class: => MPARSERCLASS.(class): #xcommand cimplement onew(inputReader,name,errorStream) => ; static function onew(class,inputReader,name,errorStream) #xcommand cimplement getcloseparent(aChar) => ; static function getcloseparent(class,aChar) #xcommand cimplement trimtokenlist(tList) => ; static function trimtokenlist(class,tList) #xcommand cimplement parse(item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg) => ; static function parse(class,item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg) #ifdef _IMPLEMENT_EXPORT_ #xcommand cimplement export onew(inputReader,name,errorStream) => ; function onew(class,inputReader,name,errorStream) #xcommand cimplement export getcloseparent(aChar) => ; function getcloseparent(class,aChar) #xcommand cimplement export trimtokenlist(tList) => ; function trimtokenlist(class,tList) #xcommand cimplement export parse(item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg) => ; function parse(class,item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg) #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,errorStream| onew(class,inputReader,name,errorStream)} pOsztaly[(CM_PARSERCLASS_N+1)]:={|class,aChar| getcloseparent(class,aChar)} pOsztaly[(CM_PARSERCLASS_N+2)]:={|class,tList| trimtokenlist(class,tList)} pOsztaly[(CM_PARSERCLASS_N+3)]:={|class,item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg| parse(class,item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg)} 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,errorStream',nil} tm[(CM_PARSERCLASS_N+1)-CM_NIL_N] := {(CM_PARSERCLASS_N+1),'getcloseparent','aChar',nil} tm[(CM_PARSERCLASS_N+2)-CM_NIL_N] := {(CM_PARSERCLASS_N+2),'trimtokenlist','tList',nil} tm[(CM_PARSERCLASS_N+3)-CM_NIL_N] := {(CM_PARSERCLASS_N+3),'parse','item,inputReader,name,defdict,edefdict,xtrdict,mi,errorStream,ujsor,trPrsAlg',nil} return nil ********************************************************************** #ifndef _NO_MCMPARSERCLASS_ #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 mcMPARSERCLASS() // El“szedi az oszt ly metaoszt ly t. (metaclass) static metaOsztaly if (metaOsztaly==nil) metaOsztaly:=META.clMETA():onew(; mcPARSERCLASS(),; "MPARSERCLASS",; CA_MPARSERCLASS_N,; CM_MPARSERCLASS_N,; {|ta,tm|setMCams(ta,tm)},; {|t|setMCMethods(t)}) endif return metaOsztaly #endif // _NO_MCMPARSERCLASS_ #endif // _NO_MPARSERCLASS_ #ifdef _IMPLEMENT_ONEW_ ********************************************************************** cimplement onew(inputReader,name,errorStream) local o:=class:ocreate() MPARSER.o:oinit(inputReader,name,errorStream) return o #endif // _IMPLEMENT_ONEW_ ********************************************************************** #ifdef _IMPLEMENT_OINIT_ implement oinit(inputReader,name,errorStream) super:oinit() return this #endif // _IMPLEMENT_OINIT_ ********************************************************************** ********************************************************************** #endif // _MPARSER_PRG_OCH_ #endif // _MPARSER_PRG_