446 lines
24 KiB
Plaintext
446 lines
24 KiB
Plaintext
// 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.<obj>:name => <obj>\[CA_OBJECT_N+1\]
|
||
#xtranslate MPARSER.<obj>:errorstream => <obj>\[CA_OBJECT_N+2\]
|
||
#xtranslate MPARSER.<obj>:tbuffer => <obj>\[CA_OBJECT_N+3\]
|
||
#xtranslate MPARSER.<obj>:inputreader => <obj>\[CA_READER_N+1\]
|
||
#xtranslate MPARSER.<obj>:item => <obj>\[CA_TREADER_N+1\]
|
||
#xtranslate MPARSER.<obj>:parserbuffer => <obj>\[CA_TREADER_N+2\]
|
||
|
||
|
||
#xtranslate MPARSER.<obj>:oinit => (OBJGEN.(<obj>):(4))
|
||
#xtranslate MPARSER.<obj>:getclass => (OBJGEN.(<obj>):(5))
|
||
#xtranslate MPARSER.<obj>:isclass => (OBJGEN.(<obj>):(6))
|
||
#xtranslate MPARSER.<obj>:getattrib => (OBJGEN.(<obj>):(7))
|
||
#xtranslate MPARSER.<obj>:setattrib => (OBJGEN.(<obj>):(8))
|
||
#xtranslate MPARSER.<obj>:read => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
|
||
#xtranslate MPARSER.<obj>:unread => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
|
||
#xtranslate MPARSER.<obj>:readtbuffer => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
|
||
#xtranslate MPARSER.<obj>:arraytbuffer => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
|
||
#xtranslate MPARSER.<obj>:readitem => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
|
||
#xtranslate MPARSER.<obj>:iserror => (OBJGEN.(<obj>):(CM_OBJECT_N+6))
|
||
#xtranslate MPARSER.<obj>:adderror => (OBJGEN.(<obj>):(CM_OBJECT_N+7))
|
||
#xtranslate MPARSER.<obj>:destruct => (OBJGEN.(<obj>):(CM_OBJECT_N+8))
|
||
#xtranslate MPARSER.<obj>:readinput => (OBJGEN.(<obj>):(CM_READER_N+1))
|
||
#xtranslate MPARSER.<obj>:unreadinput => (OBJGEN.(<obj>):(CM_READER_N+2))
|
||
#xtranslate MPARSER.<obj>:addinputreader => (OBJGEN.(<obj>):(CM_READER_N+3))
|
||
#xtranslate MPARSER.<obj>:putparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+1))
|
||
#xtranslate MPARSER.<obj>:getparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+2))
|
||
#xtranslate MPARSER.<obj>:unputparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+3))
|
||
#xtranslate MPARSER.<obj>:ungetparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+4))
|
||
#xtranslate MPARSER.<obj>:clearparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+5))
|
||
#xtranslate MPARSER.<obj>:rds => (OBJGEN.(<obj>):(CM_TREADER_N+6))
|
||
#xtranslate MPARSER.<obj>:unrds => (OBJGEN.(<obj>):(CM_TREADER_N+7))
|
||
#xtranslate MPARSER.<obj>:strparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+8))
|
||
#xtranslate MPARSER.<obj>:arrayparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+9))
|
||
|
||
|
||
#xtranslate MPARSER.<obj>:soreleje => <obj>\[CA_PARSER_N+1\]
|
||
#xtranslate MPARSER.<obj>:makrobuf => <obj>\[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.<obj>:startmakrobuf => (OBJGEN.(<obj>):(CM_PARSER_N+1))
|
||
#xtranslate MPARSER.<obj>:rdsmakrobuf => (OBJGEN.(<obj>):(CM_PARSER_N+2))
|
||
#xtranslate MPARSER.<obj>:unrdsmakrobuf => (OBJGEN.(<obj>):(CM_PARSER_N+3))
|
||
// ™r”k”lve: readitem()
|
||
#xtranslate MPARSER.<obj>:parsefun => (OBJGEN.(<obj>):(CM_PARSER_N+4))
|
||
#xtranslate MPARSER.<obj>:parsetokenlist => (OBJGEN.(<obj>):(CM_PARSER_N+5))
|
||
#xtranslate MPARSER.<obj>:parsextr => (OBJGEN.(<obj>):(CM_PARSER_N+6))
|
||
#xtranslate MPARSER.<obj>:parsextrtree => (OBJGEN.(<obj>):(CM_PARSER_N+7))
|
||
#xtranslate MPARSER.<obj>:mleftxntoken => (OBJGEN.(<obj>):(CM_PARSER_N+8))
|
||
#xtranslate MPARSER.<obj>:mleftxmrtoken => (OBJGEN.(<obj>):(CM_PARSER_N+9))
|
||
#xtranslate MPARSER.<obj>:mleftxrmmtoken => (OBJGEN.(<obj>):(CM_PARSER_N+10))
|
||
#xtranslate MPARSER.<obj>:mleftxwmtoken => (OBJGEN.(<obj>):(CM_PARSER_N+11))
|
||
#xtranslate MPARSER.<obj>:mleftxeemtoken => (OBJGEN.(<obj>):(CM_PARSER_N+12))
|
||
#xtranslate MPARSER.<obj>:mleftxlmtoken => (OBJGEN.(<obj>):(CM_PARSER_N+13))
|
||
#xtranslate MPARSER.<obj>:mleftxrsmmtoken => (OBJGEN.(<obj>):(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:<m> => (MPARSERCLASS.clMPARSER():<m>)
|
||
#xtranslate C.MPARSER:self() => (clMPARSER())
|
||
|
||
|
||
#xtranslate MPARSERCLASS.<obj>:parent => <obj>\[CA_OBJECT_N+1\]
|
||
#xtranslate MPARSERCLASS.<obj>:name => <obj>\[CA_OBJECT_N+2\]
|
||
#xtranslate MPARSERCLASS.<obj>:objsize => <obj>\[CA_OBJECT_N+3\]
|
||
#xtranslate MPARSERCLASS.<obj>:attribs => <obj>\[CA_OBJECT_N+4\]
|
||
#xtranslate MPARSERCLASS.<obj>:methods => <obj>\[CA_OBJECT_N+5\]
|
||
#xtranslate MPARSERCLASS.<obj>:classid => <obj>\[CA_OBJECT_N+6\]
|
||
#xtranslate MPARSERCLASS.<obj>:parentclassids => <obj>\[CA_OBJECT_N+7\]
|
||
#xtranslate MPARSERCLASS.<obj>:amblock => <obj>\[CA_OBJECT_N+8\]
|
||
#xtranslate MPARSERCLASS.<obj>:methodsblock => <obj>\[CA_OBJECT_N+9\]
|
||
#xtranslate MPARSERCLASS.<obj>:objmethodsimplement => <obj>\[CA_OBJECT_N+10\]
|
||
|
||
|
||
#xtranslate MPARSERCLASS.<obj>:oinit => (OBJGEN.(<obj>):(4))
|
||
#xtranslate MPARSERCLASS.<obj>:getclass => (OBJGEN.(<obj>):(5))
|
||
#xtranslate MPARSERCLASS.<obj>:isclass => (OBJGEN.(<obj>):(6))
|
||
#xtranslate MPARSERCLASS.<obj>:getattrib => (OBJGEN.(<obj>):(7))
|
||
#xtranslate MPARSERCLASS.<obj>:setattrib => (OBJGEN.(<obj>):(8))
|
||
#xtranslate MPARSERCLASS.<obj>:onew => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
|
||
#xtranslate MPARSERCLASS.<obj>:ocreate => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
|
||
#xtranslate MPARSERCLASS.<obj>:rawoinit => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
|
||
#xtranslate MPARSERCLASS.<obj>:oinitclass => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
|
||
#xtranslate MPARSERCLASS.<obj>:getmethodsimplement => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
|
||
#xtranslate MPARSERCLASS.<obj>:attribidx => (OBJGEN.(<obj>):(CM_OBJECT_N+6))
|
||
#xtranslate MPARSERCLASS.<obj>:needclassid => (OBJGEN.(<obj>):(CM_OBJECT_N+7))
|
||
#xtranslate MPARSERCLASS.<obj>:isinheritfrom => (OBJGEN.(<obj>):(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.<obj>:getcloseparent => (OBJGEN.(<obj>):(CM_PARSERCLASS_N+1))
|
||
#xtranslate MPARSERCLASS.<obj>:trimtokenlist => (OBJGEN.(<obj>):(CM_PARSERCLASS_N+2))
|
||
#xtranslate MPARSERCLASS.<obj>:parse => (OBJGEN.(<obj>):(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:<m> => MPARSER.(othis):<m>
|
||
#xtranslate thisclass:<m> => MPARSERCLASS.(this:getClass()):<m>
|
||
#define CTHIS MPARSER
|
||
|
||
|
||
**********************************************************************
|
||
#xtranslate this:<m> => MPARSER.(this):<m>
|
||
|
||
#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:<m> => MPARSERCLASS.(class):<m>
|
||
|
||
#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_
|