|
@@ -88,7 +88,6 @@ KSGSBefehlFunktion::KSGSBefehlFunktion( KSGScriptProcessor *zObj, Text *txt, KSG
|
|
|
parameter->setSuchGrenzen( '(', ')' );
|
|
|
removeKlammer( parameter );
|
|
|
KSGSCompFuncTable *zLFT = zFT;
|
|
|
- KSGSCompVarTable *zLVT = zVT;
|
|
|
if( klassName )
|
|
|
{
|
|
|
if( !zKT->hat( klassName ) )
|
|
@@ -98,7 +97,6 @@ KSGSBefehlFunktion::KSGSBefehlFunktion( KSGScriptProcessor *zObj, Text *txt, KSG
|
|
|
return;
|
|
|
}
|
|
|
zLFT = &zKT->get( klassName )->funcs;
|
|
|
- zLVT = &zKT->get( klassName )->vars;
|
|
|
}
|
|
|
if( *typId >= 0 )
|
|
|
{ // Funktion gehört zu anderem Zeichnung
|
|
@@ -109,7 +107,6 @@ KSGSBefehlFunktion::KSGSBefehlFunktion( KSGScriptProcessor *zObj, Text *txt, KSG
|
|
|
return;
|
|
|
}
|
|
|
zLFT = &zKT->get( *typId )->funcs;
|
|
|
- zLVT = &zKT->get( *typId )->vars;
|
|
|
}
|
|
|
Array< int > *paramTyps = 0;
|
|
|
bool noWarn = 0;
|
|
@@ -213,7 +210,7 @@ KSGSBefehlMember::KSGSBefehlMember( KSGScriptProcessor *zObj, Text *txt, KSGSLes
|
|
|
{ // Funktionsaufruf
|
|
|
typ = FUNKTION;
|
|
|
bool b = 0;
|
|
|
- funk = new KSGSBefehlFunktion( zObj, (Text *)abschnitt.getThis(), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
|
|
|
+ funk = new KSGSBefehlFunktion( zObj, dynamic_cast<Text *>( abschnitt.getThis() ), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
|
|
|
if( !b )
|
|
|
return;
|
|
|
}
|
|
@@ -221,7 +218,7 @@ KSGSBefehlMember::KSGSBefehlMember( KSGScriptProcessor *zObj, Text *txt, KSGSLes
|
|
|
{ // Variable
|
|
|
typ = VARIABLE;
|
|
|
bool b = 0;
|
|
|
- var = new KSGSBefehlVariable( (Text *)abschnitt.getThis(), zKT, zFT, zVT, klassName, funktionName, typId, &b );
|
|
|
+ var = new KSGSBefehlVariable( dynamic_cast<Text *>( abschnitt.getThis() ), zKT, zFT, zVT, klassName, funktionName, typId, &b );
|
|
|
if( !b )
|
|
|
return;
|
|
|
}
|
|
@@ -241,7 +238,6 @@ KSGSBefehlParameter::KSGSBefehlParameter( KSGScriptProcessor *zObj, Text *txt, K
|
|
|
{
|
|
|
*typId = -1;
|
|
|
*ok = 0;
|
|
|
- int retTyp = -1;
|
|
|
Text param = txt->getText();
|
|
|
param.setSuchGrenzen( '(', ')' );
|
|
|
removeKlammer( ¶m );
|
|
@@ -384,7 +380,7 @@ KSGSBefehlParameter::KSGSBefehlParameter( KSGScriptProcessor *zObj, Text *txt, K
|
|
|
if( hatOperator( ¶m ) >= 0 )
|
|
|
{ // Befehl
|
|
|
bool b = 0;
|
|
|
- KSGSBefehlMember *obj = new KSGSBefehlMember( zObj, (Text *)param.getThis(), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
|
|
|
+ KSGSBefehlMember *obj = new KSGSBefehlMember( zObj, dynamic_cast<Text *>( param.getThis() ), dbg, zKT, zFT, zVT, klassName, funktionName, typId, &b );
|
|
|
if( !b )
|
|
|
{
|
|
|
delete obj;
|
|
@@ -467,7 +463,7 @@ KSGSBefehlErstell::KSGSBefehlErstell( KSGScriptProcessor *zObj, Text *txt, KSGSL
|
|
|
befehl += &text[ text.positionVon( '(' ) ];
|
|
|
bool b = 0;
|
|
|
int pTyp = -1;
|
|
|
- param = new KSGSBefehlParameter( zObj, (Text *)befehl.getThis(), dbg, zKT, zFT, zVT, klassName, funktionName, &pTyp, &b );
|
|
|
+ param = new KSGSBefehlParameter( zObj, dynamic_cast<Text *>( befehl.getThis() ), dbg, zKT, zFT, zVT, klassName, funktionName, &pTyp, &b );
|
|
|
if( !b )
|
|
|
{
|
|
|
typ->release();
|
|
@@ -528,7 +524,7 @@ KSGSBefehl::~KSGSBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
return 0;
|
|
|
}
|
|
@@ -625,7 +621,7 @@ KSGSVariable *KSGSBefehl::prozessMember( KSGSVariable *zVorObj, KSGSBefehlMember
|
|
|
{
|
|
|
case KSGSBefehlMember::BEFEHL:
|
|
|
if( !zVorObj && zMem->bef )
|
|
|
- return zMem->bef->ausführen( zObj, zFI, zKI );
|
|
|
+ return zMem->bef->execute( zObj, zFI, zKI );
|
|
|
break;
|
|
|
case KSGSBefehlMember::FUNKTION:
|
|
|
if( zMem->funk )
|
|
@@ -742,7 +738,7 @@ KSGSVariable *KSGSBefehl::prozessErstell( KSGSBefehlErstell *zErst, KSGScriptPro
|
|
|
ret->release();
|
|
|
ret = tmp;
|
|
|
}
|
|
|
- zFI->setVariable( zErst->id, (KSGSVariable *)ret->getThis() );
|
|
|
+ zFI->setVariable( zErst->id, dynamic_cast<KSGSVariable *>( ret->getThis() ) );
|
|
|
return ret;
|
|
|
}
|
|
|
|
|
@@ -768,7 +764,7 @@ KSGSCallBefehl::KSGSCallBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl *bef, K
|
|
|
int end = abschnittEnde[ i ];
|
|
|
Text *abschnitt = bef->befehl.getTeilText( beg, end );
|
|
|
bool b = 0;
|
|
|
- KSGSBefehlMember *mem = new KSGSBefehlMember( zObj, (Text *)abschnitt->getThis(), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &vTyp, &b );
|
|
|
+ KSGSBefehlMember *mem = new KSGSBefehlMember( zObj, dynamic_cast<Text *>( abschnitt->getThis() ), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &vTyp, &b );
|
|
|
if( !b )
|
|
|
{
|
|
|
error( 13, { bef->debug.datei, Text() += bef->debug.zeile, *abschnitt }, zObj );
|
|
@@ -794,7 +790,7 @@ KSGSCallBefehl::~KSGSCallBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSCallBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSCallBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
KSGSVariable *v = 0;
|
|
|
int anz = objekt.getEintragAnzahl();
|
|
@@ -825,8 +821,8 @@ KSGSOperatorBefehl::KSGSOperatorBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl
|
|
|
fehler = 1;
|
|
|
return;
|
|
|
}
|
|
|
- int opLän = 0;
|
|
|
- int opPos = getOperatorPos( &bef->befehl, &opLän );
|
|
|
+ int opLen = 0;
|
|
|
+ int opPos = getOperatorPos( &bef->befehl, &opLen );
|
|
|
Text *links = bef->befehl.getTeilText( 0, opPos );
|
|
|
bool b = 0;
|
|
|
paramL = new KSGSBefehlParameter( zObj, links, &bef->debug, zKT, zFT, zVT, klassName, funktionName, &returnTyp, &b );
|
|
@@ -836,7 +832,7 @@ KSGSOperatorBefehl::KSGSOperatorBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl
|
|
|
fehler = 1;
|
|
|
return;
|
|
|
}
|
|
|
- Text *rechts = bef->befehl.getTeilText( opPos + opLän );
|
|
|
+ Text *rechts = bef->befehl.getTeilText( opPos + opLen );
|
|
|
b = 0;
|
|
|
int rTyp = -1;
|
|
|
paramR = new KSGSBefehlParameter( zObj, rechts, &bef->debug, zKT, zFT, zVT, klassName, funktionName, &rTyp, &b );
|
|
@@ -858,7 +854,7 @@ KSGSOperatorBefehl::~KSGSOperatorBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSOperatorBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSOperatorBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
KSGSVariable *l = prozessParameter( paramL, zObj, zFI, zKI );
|
|
|
if( operatorId == KSGS_O_SET && ( l ? l->getTyp() > KSGS_TYP_MAX : 1 ) )
|
|
@@ -887,7 +883,7 @@ KSGSVariable *KSGSOperatorBefehl::ausf
|
|
|
{
|
|
|
if( lVObj )
|
|
|
lVObj->release();
|
|
|
- lVObj = v ? (KSGSVariable *)v->getThis() : 0;
|
|
|
+ lVObj = v ? dynamic_cast<KSGSVariable *>( v->getThis() ) : 0;
|
|
|
KSGSVariable *tmp = 0;
|
|
|
switch( paramL->objekt.get( i )->typ )
|
|
|
{
|
|
@@ -902,7 +898,7 @@ KSGSVariable *KSGSOperatorBefehl::ausf
|
|
|
return 0;
|
|
|
}
|
|
|
if( !v && paramL->objekt.get( i )->bef )
|
|
|
- tmp = paramL->objekt.get( i )->bef->ausführen( zObj, zFI, zKI );
|
|
|
+ tmp = paramL->objekt.get( i )->bef->execute( zObj, zFI, zKI );
|
|
|
break;
|
|
|
case KSGSBefehlMember::FUNKTION:
|
|
|
if( i == anz - 1 )
|
|
@@ -948,24 +944,24 @@ KSGSVariable *KSGSOperatorBefehl::ausf
|
|
|
{
|
|
|
if( lVObj )
|
|
|
lVObj->release();
|
|
|
- zFI->setVariable( vId, (KSGSVariable *)r->getThis() );
|
|
|
+ zFI->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
|
|
|
return r;
|
|
|
}
|
|
|
else if( !vS ) // Scriptvariable
|
|
|
{
|
|
|
if( lVObj )
|
|
|
lVObj->release();
|
|
|
- zObj->setVariable( vId, (KSGSVariable *)r->getThis() );
|
|
|
+ zObj->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
|
|
|
return r;
|
|
|
}
|
|
|
else // Klassenvariable
|
|
|
{
|
|
|
if( !lVObj )
|
|
|
{
|
|
|
- zKI->setVariable( vId, (KSGSVariable *)r->getThis() );
|
|
|
+ zKI->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
|
|
|
return r;
|
|
|
}
|
|
|
- lVObj->setVariable( vId, (KSGSVariable *)r->getThis() );
|
|
|
+ lVObj->setVariable( vId, dynamic_cast<KSGSVariable *>( r->getThis() ) );
|
|
|
if( lVObj )
|
|
|
lVObj->release();
|
|
|
return r;
|
|
@@ -990,7 +986,7 @@ KSGSIfBefehl::KSGSIfBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl *bef, KSGSC
|
|
|
bedingung = 0;
|
|
|
int bTyp = -1;
|
|
|
bool b = 0;
|
|
|
- bedingung = new KSGSBefehlParameter( zObj, (Text *)bef->befehl.getThis(), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
|
|
|
+ bedingung = new KSGSBefehlParameter( zObj, dynamic_cast<Text *>( bef->befehl.getThis() ), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
|
|
|
int anz = bef->listA.getEintragAnzahl();
|
|
|
for( int i = 0; i < anz; i++ )
|
|
|
{
|
|
@@ -1102,7 +1098,7 @@ KSGSIfBefehl::~KSGSIfBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSIfBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSIfBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
|
|
|
if( !b )
|
|
@@ -1116,7 +1112,7 @@ KSGSVariable *KSGSIfBefehl::ausf
|
|
|
Sleep( 100 );
|
|
|
if( !zFI->getStatus() ) // return
|
|
|
break;
|
|
|
- KSGSVariable *v = bTrue.z( i )->ausführen( zObj, zFI, zKI );
|
|
|
+ KSGSVariable *v = bTrue.z( i )->execute( zObj, zFI, zKI );
|
|
|
if( v )
|
|
|
v->release();
|
|
|
}
|
|
@@ -1130,7 +1126,7 @@ KSGSVariable *KSGSIfBefehl::ausf
|
|
|
Sleep( 100 );
|
|
|
if( !zFI->getStatus() ) // return
|
|
|
break;
|
|
|
- KSGSVariable *v = bFalse.z( i )->ausführen( zObj, zFI, zKI );
|
|
|
+ KSGSVariable *v = bFalse.z( i )->execute( zObj, zFI, zKI );
|
|
|
if( v )
|
|
|
v->release();
|
|
|
}
|
|
@@ -1277,9 +1273,9 @@ KSGSForBefehl::~KSGSForBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSForBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSForBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
- KSGSVariable *l = links ? links->ausführen( zObj, zFI, zKI ) : 0;
|
|
|
+ KSGSVariable *l = links ? links->execute( zObj, zFI, zKI ) : 0;
|
|
|
if( l )
|
|
|
l->release();
|
|
|
KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
|
|
@@ -1296,7 +1292,7 @@ KSGSVariable *KSGSForBefehl::ausf
|
|
|
break;
|
|
|
if( zFI->getStatus() == 2 ) // continue
|
|
|
break;
|
|
|
- KSGSVariable *v = schleife.z( i )->ausführen( zObj, zFI, zKI );
|
|
|
+ KSGSVariable *v = schleife.z( i )->execute( zObj, zFI, zKI );
|
|
|
if( v )
|
|
|
v->release();
|
|
|
}
|
|
@@ -1308,7 +1304,7 @@ KSGSVariable *KSGSForBefehl::ausf
|
|
|
break;
|
|
|
if( !anz )
|
|
|
Sleep( 100 );
|
|
|
- KSGSVariable *v = rechts ? rechts->ausführen( zObj, zFI, zKI ) : 0;
|
|
|
+ KSGSVariable *v = rechts ? rechts->execute( zObj, zFI, zKI ) : 0;
|
|
|
if( v )
|
|
|
v->release();
|
|
|
if( b )
|
|
@@ -1331,7 +1327,7 @@ KSGSWhileBefehl::KSGSWhileBefehl( KSGScriptProcessor *zObj, KSGSLeseBefehl *bef,
|
|
|
bedingung = 0;
|
|
|
int bTyp = -1;
|
|
|
bool b = 0;
|
|
|
- bedingung = new KSGSBefehlParameter( zObj, (Text *)bef->befehl.getThis(), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
|
|
|
+ bedingung = new KSGSBefehlParameter( zObj, dynamic_cast<Text *>( bef->befehl.getThis() ), &bef->debug, zKT, zFT, zVT, klassName, funktionName, &bTyp, &b );
|
|
|
int anz = bef->listA.getEintragAnzahl();
|
|
|
for( int i = 0; i < anz; i++ )
|
|
|
{
|
|
@@ -1392,7 +1388,7 @@ KSGSWhileBefehl::~KSGSWhileBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSWhileBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSWhileBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
KSGSVariable *b = prozessParameter( bedingung, zObj, zFI, zKI );
|
|
|
if( !b )
|
|
@@ -1408,7 +1404,7 @@ KSGSVariable *KSGSWhileBefehl::ausf
|
|
|
break;
|
|
|
if( zFI->getStatus() == 2 ) // continue
|
|
|
break;
|
|
|
- KSGSVariable *v = schleife.z( i )->ausführen( zObj, zFI, zKI );
|
|
|
+ KSGSVariable *v = schleife.z( i )->execute( zObj, zFI, zKI );
|
|
|
if( v )
|
|
|
v->release();
|
|
|
}
|
|
@@ -1460,7 +1456,7 @@ KSGSReturnBefehl::~KSGSReturnBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSReturnBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSReturnBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
KSGSVariable *v = param ? prozessParameter( param, zObj, zFI, zKI ) : 0;
|
|
|
if( v )
|
|
@@ -1484,7 +1480,7 @@ KSGSBreakBefehl::~KSGSBreakBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSBreakBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSBreakBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
zFI->setBreak();
|
|
|
return 0;
|
|
@@ -1505,7 +1501,7 @@ KSGSContinueBefehl::~KSGSContinueBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSContinueBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSContinueBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
zFI->setContinue();
|
|
|
return 0;
|
|
@@ -1543,7 +1539,7 @@ KSGSVariableBefehl::~KSGSVariableBefehl()
|
|
|
}
|
|
|
|
|
|
// constant
|
|
|
-KSGSVariable *KSGSVariableBefehl::ausführen( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
+KSGSVariable *KSGSVariableBefehl::execute( KSGScriptProcessor *zObj, KSGSFunktionInstanz *zFI, KSGSVariable *zKI ) const
|
|
|
{
|
|
|
return prozessErstell( erstell, zObj, zFI, zKI );
|
|
|
}
|