460 lines
25 KiB
Plaintext
460 lines
25 KiB
Plaintext
// 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.<obj>:name => <obj>\[CA_OBJECT_N+1\]
|
||
#xtranslate HPARSER.<obj>:errorstream => <obj>\[CA_OBJECT_N+2\]
|
||
#xtranslate HPARSER.<obj>:tbuffer => <obj>\[CA_OBJECT_N+3\]
|
||
#xtranslate HPARSER.<obj>:inputreader => <obj>\[CA_READER_N+1\]
|
||
#xtranslate HPARSER.<obj>:item => <obj>\[CA_TREADER_N+1\]
|
||
#xtranslate HPARSER.<obj>:parserbuffer => <obj>\[CA_TREADER_N+2\]
|
||
|
||
|
||
#xtranslate HPARSER.<obj>:oinit => (OBJGEN.(<obj>):(4))
|
||
#xtranslate HPARSER.<obj>:getclass => (OBJGEN.(<obj>):(5))
|
||
#xtranslate HPARSER.<obj>:isclass => (OBJGEN.(<obj>):(6))
|
||
#xtranslate HPARSER.<obj>:getattrib => (OBJGEN.(<obj>):(7))
|
||
#xtranslate HPARSER.<obj>:setattrib => (OBJGEN.(<obj>):(8))
|
||
#xtranslate HPARSER.<obj>:read => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
|
||
#xtranslate HPARSER.<obj>:unread => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
|
||
#xtranslate HPARSER.<obj>:readtbuffer => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
|
||
#xtranslate HPARSER.<obj>:arraytbuffer => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
|
||
#xtranslate HPARSER.<obj>:readitem => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
|
||
#xtranslate HPARSER.<obj>:iserror => (OBJGEN.(<obj>):(CM_OBJECT_N+6))
|
||
#xtranslate HPARSER.<obj>:adderror => (OBJGEN.(<obj>):(CM_OBJECT_N+7))
|
||
#xtranslate HPARSER.<obj>:destruct => (OBJGEN.(<obj>):(CM_OBJECT_N+8))
|
||
#xtranslate HPARSER.<obj>:readinput => (OBJGEN.(<obj>):(CM_READER_N+1))
|
||
#xtranslate HPARSER.<obj>:unreadinput => (OBJGEN.(<obj>):(CM_READER_N+2))
|
||
#xtranslate HPARSER.<obj>:addinputreader => (OBJGEN.(<obj>):(CM_READER_N+3))
|
||
#xtranslate HPARSER.<obj>:putparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+1))
|
||
#xtranslate HPARSER.<obj>:getparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+2))
|
||
#xtranslate HPARSER.<obj>:unputparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+3))
|
||
#xtranslate HPARSER.<obj>:ungetparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+4))
|
||
#xtranslate HPARSER.<obj>:clearparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+5))
|
||
#xtranslate HPARSER.<obj>:rds => (OBJGEN.(<obj>):(CM_TREADER_N+6))
|
||
#xtranslate HPARSER.<obj>:unrds => (OBJGEN.(<obj>):(CM_TREADER_N+7))
|
||
#xtranslate HPARSER.<obj>:strparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+8))
|
||
#xtranslate HPARSER.<obj>:arrayparserbuffer => (OBJGEN.(<obj>):(CM_TREADER_N+9))
|
||
|
||
|
||
#xtranslate HPARSER.<obj>:soreleje => <obj>\[CA_PARSER_N+1\]
|
||
#xtranslate HPARSER.<obj>:defdict => <obj>\[CA_PARSER_N+2\]
|
||
#xtranslate HPARSER.<obj>:xtrdict => <obj>\[CA_PARSER_N+3\]
|
||
#xtranslate HPARSER.<obj>:ifstack => <obj>\[CA_PARSER_N+4\]
|
||
#xtranslate HPARSER.<obj>:branch => <obj>\[CA_PARSER_N+5\]
|
||
#xtranslate HPARSER.<obj>:inclobj => <obj>\[CA_PARSER_N+6\]
|
||
#xtranslate HPARSER.<obj>:lasteos => <obj>\[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.<obj>:parseline => (OBJGEN.(<obj>):(CM_PARSER_N+1))
|
||
#xtranslate HPARSER.<obj>:parsefalseline => (OBJGEN.(<obj>):(CM_PARSER_N+2))
|
||
#xtranslate HPARSER.<obj>:parsedefine => (OBJGEN.(<obj>):(CM_PARSER_N+3))
|
||
#xtranslate HPARSER.<obj>:parseundef => (OBJGEN.(<obj>):(CM_PARSER_N+4))
|
||
#xtranslate HPARSER.<obj>:parsetranslate => (OBJGEN.(<obj>):(CM_PARSER_N+5))
|
||
#xtranslate HPARSER.<obj>:parseifdef => (OBJGEN.(<obj>):(CM_PARSER_N+6))
|
||
#xtranslate HPARSER.<obj>:parseelse => (OBJGEN.(<obj>):(CM_PARSER_N+7))
|
||
#xtranslate HPARSER.<obj>:parseendif => (OBJGEN.(<obj>):(CM_PARSER_N+8))
|
||
#xtranslate HPARSER.<obj>:parseinclude => (OBJGEN.(<obj>):(CM_PARSER_N+9))
|
||
#xtranslate HPARSER.<obj>:parseltranslate => (OBJGEN.(<obj>):(CM_PARSER_N+10))
|
||
#xtranslate HPARSER.<obj>:parsertranslate => (OBJGEN.(<obj>):(CM_PARSER_N+11))
|
||
#xtranslate HPARSER.<obj>:adddefine => (OBJGEN.(<obj>):(CM_PARSER_N+12))
|
||
#xtranslate HPARSER.<obj>:addxtranslate => (OBJGEN.(<obj>):(CM_PARSER_N+13))
|
||
#xtranslate HPARSER.<obj>:sornyel => (OBJGEN.(<obj>):(CM_PARSER_N+14))
|
||
#xtranslate HPARSER.<obj>:errorgen => (OBJGEN.(<obj>):(CM_PARSER_N+15))
|
||
#xtranslate HPARSER.<obj>:incomperrorgen => (OBJGEN.(<obj>):(CM_PARSER_N+16))
|
||
#xtranslate HPARSER.<obj>:chkendoffile => (OBJGEN.(<obj>):(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:<m> => (HPARSERCLASS.clHPARSER():<m>)
|
||
#xtranslate C.HPARSER:self() => (clHPARSER())
|
||
|
||
|
||
#xtranslate HPARSERCLASS.<obj>:parent => <obj>\[CA_OBJECT_N+1\]
|
||
#xtranslate HPARSERCLASS.<obj>:name => <obj>\[CA_OBJECT_N+2\]
|
||
#xtranslate HPARSERCLASS.<obj>:objsize => <obj>\[CA_OBJECT_N+3\]
|
||
#xtranslate HPARSERCLASS.<obj>:attribs => <obj>\[CA_OBJECT_N+4\]
|
||
#xtranslate HPARSERCLASS.<obj>:methods => <obj>\[CA_OBJECT_N+5\]
|
||
#xtranslate HPARSERCLASS.<obj>:classid => <obj>\[CA_OBJECT_N+6\]
|
||
#xtranslate HPARSERCLASS.<obj>:parentclassids => <obj>\[CA_OBJECT_N+7\]
|
||
#xtranslate HPARSERCLASS.<obj>:amblock => <obj>\[CA_OBJECT_N+8\]
|
||
#xtranslate HPARSERCLASS.<obj>:methodsblock => <obj>\[CA_OBJECT_N+9\]
|
||
#xtranslate HPARSERCLASS.<obj>:objmethodsimplement => <obj>\[CA_OBJECT_N+10\]
|
||
|
||
|
||
#xtranslate HPARSERCLASS.<obj>:oinit => (OBJGEN.(<obj>):(4))
|
||
#xtranslate HPARSERCLASS.<obj>:getclass => (OBJGEN.(<obj>):(5))
|
||
#xtranslate HPARSERCLASS.<obj>:isclass => (OBJGEN.(<obj>):(6))
|
||
#xtranslate HPARSERCLASS.<obj>:getattrib => (OBJGEN.(<obj>):(7))
|
||
#xtranslate HPARSERCLASS.<obj>:setattrib => (OBJGEN.(<obj>):(8))
|
||
#xtranslate HPARSERCLASS.<obj>:onew => (OBJGEN.(<obj>):(CM_OBJECT_N+1))
|
||
#xtranslate HPARSERCLASS.<obj>:ocreate => (OBJGEN.(<obj>):(CM_OBJECT_N+2))
|
||
#xtranslate HPARSERCLASS.<obj>:rawoinit => (OBJGEN.(<obj>):(CM_OBJECT_N+3))
|
||
#xtranslate HPARSERCLASS.<obj>:oinitclass => (OBJGEN.(<obj>):(CM_OBJECT_N+4))
|
||
#xtranslate HPARSERCLASS.<obj>:getmethodsimplement => (OBJGEN.(<obj>):(CM_OBJECT_N+5))
|
||
#xtranslate HPARSERCLASS.<obj>:attribidx => (OBJGEN.(<obj>):(CM_OBJECT_N+6))
|
||
#xtranslate HPARSERCLASS.<obj>:needclassid => (OBJGEN.(<obj>):(CM_OBJECT_N+7))
|
||
#xtranslate HPARSERCLASS.<obj>:isinheritfrom => (OBJGEN.(<obj>):(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:<m> => HPARSER.(othis):<m>
|
||
#xtranslate thisclass:<m> => HPARSERCLASS.(this:getClass()):<m>
|
||
#define CTHIS HPARSER
|
||
|
||
|
||
**********************************************************************
|
||
#xtranslate this:<m> => HPARSER.(this):<m>
|
||
|
||
#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:<m> => HPARSERCLASS.(class):<m>
|
||
|
||
#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_
|