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