41#define JMP_TABLE_SIZE 100
70 auto pCond = std::make_unique<SbiExpression>(
this );
89 sal_uInt32 nElseLbl = nEndLbl;
96 else if( eTok ==
ENDIF )
119 if( !
Parse() )
break;
127 sal_uInt32 nElseLbl = nEndLbl;
132 if( !
Parse() )
break;
134 if( eTok ==
EOLN || eTok ==
REM )
170 if (eTok ==
EOLN || eTok ==
REM)
369 sal_uInt32 nNextTarget = 0;
370 sal_uInt32 nDoneTarget = 0;
386 sal_uInt32 nTrueTarget = 0;
398 if( eTok2 ==
IS || ( eTok2 >=
EQ && eTok2 <=
GE ) )
403 if( eTok2 < EQ || eTok2 >
GE )
410 sal::static_int_cast< sal_uInt16 >(
449 if( !
Parse() )
goto done;
457 else if( !
IsEoln( eTok ) )
475 if (aString.equalsIgnoreAsciiCase(
"ERROR"))
496 bool bError_ =
false;
void Patch(sal_uInt32 o, sal_uInt32 v)
sal_uInt32 Gen(SbiOpcode)
void BackChain(sal_uInt32 off)
void SetType(SbxDataType eTp)
SbiExprNode * GetRealNode()
void Gen(RecursiveMode eRecMode=UNDEFINED)
SbiExprNode * GetExprNode()
void StmntBlock(SbiToken)
void OpenBlock(SbiToken, SbiExprNode *=nullptr)
SbxDataType GetType() const
const OUString & GetName()
virtual void SetType(SbxDataType)
sal_uInt32 Reference(const OUString &)
bool MayBeLabel(bool=false)
static bool IsEoln(SbiToken t)
const OUString & Symbol(SbiToken)
#define ERRCODE_BASIC_EXPECTED
#define ERRCODE_BASIC_PROG_TOO_LARGE
#define ERRCODE_BASIC_LABEL_EXPECTED
#define ERRCODE_BASIC_SYNTAX
#define ERRCODE_BASIC_BAD_BLOCK
#define ERRCODE_BASIC_NEEDS_OBJECT
#define ERRCODE_BASIC_NO_IF