summaryrefslogtreecommitdiff
path: root/basic/source/comp/parser.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'basic/source/comp/parser.cxx')
-rw-r--r--basic/source/comp/parser.cxx170
1 files changed, 85 insertions, 85 deletions
diff --git a/basic/source/comp/parser.cxx b/basic/source/comp/parser.cxx
index 6d6c02ce0308..1e8e7b2cee1d 100644
--- a/basic/source/comp/parser.cxx
+++ b/basic/source/comp/parser.cxx
@@ -2,7 +2,7 @@
/*************************************************************************
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
- *
+ *
* Copyright 2000, 2010 Oracle and/or its affiliates.
*
* OpenOffice.org - a multi-platform office productivity suite
@@ -32,87 +32,87 @@
#include "sbcomp.hxx"
#include <com/sun/star/script/ModuleType.hpp>
-struct SbiParseStack { // "Stack" fuer Statement-Blocks
- SbiParseStack* pNext; // Chain
- SbiExprNode* pWithVar; // Variable fuer WITH
- SbiToken eExitTok; // Exit-Token
- UINT32 nChain; // JUMP-Chain
+struct SbiParseStack { // "Stack" fuer Statement-Blocks
+ SbiParseStack* pNext; // Chain
+ SbiExprNode* pWithVar; // Variable fuer WITH
+ SbiToken eExitTok; // Exit-Token
+ UINT32 nChain; // JUMP-Chain
};
struct SbiStatement {
SbiToken eTok;
- void( SbiParser::*Func )(); // Verarbeitungsroutine
- BOOL bMain; // TRUE: ausserhalb SUBs OK
- BOOL bSubr; // TRUE: in SUBs OK
+ void( SbiParser::*Func )(); // Verarbeitungsroutine
+ BOOL bMain; // TRUE: ausserhalb SUBs OK
+ BOOL bSubr; // TRUE: in SUBs OK
};
-#define Y TRUE
-#define N FALSE
+#define Y TRUE
+#define N FALSE
static SbiStatement StmntTable [] = {
{ ATTRIBUTE, &SbiParser::Attribute, Y, Y, }, // ATTRIBUTE
-{ CALL, &SbiParser::Call, N, Y, }, // CALL
-{ CLOSE, &SbiParser::Close, N, Y, }, // CLOSE
-{ _CONST_, &SbiParser::Dim, Y, Y, }, // CONST
-{ DECLARE, &SbiParser::Declare, Y, N, }, // DECLARE
-{ DEFBOOL, &SbiParser::DefXXX, Y, N, }, // DEFBOOL
-{ DEFCUR, &SbiParser::DefXXX, Y, N, }, // DEFCUR
-{ DEFDATE, &SbiParser::DefXXX, Y, N, }, // DEFDATE
-{ DEFDBL, &SbiParser::DefXXX, Y, N, }, // DEFDBL
-{ DEFERR, &SbiParser::DefXXX, Y, N, }, // DEFERR
-{ DEFINT, &SbiParser::DefXXX, Y, N, }, // DEFINT
-{ DEFLNG, &SbiParser::DefXXX, Y, N, }, // DEFLNG
-{ DEFOBJ, &SbiParser::DefXXX, Y, N, }, // DEFOBJ
-{ DEFSNG, &SbiParser::DefXXX, Y, N, }, // DEFSNG
-{ DEFSTR, &SbiParser::DefXXX, Y, N, }, // DEFSTR
-{ DEFVAR, &SbiParser::DefXXX, Y, N, }, // DEFVAR
-{ DIM, &SbiParser::Dim, Y, Y, }, // DIM
-{ DO, &SbiParser::DoLoop, N, Y, }, // DO
-{ ELSE, &SbiParser::NoIf, N, Y, }, // ELSE
-{ ELSEIF, &SbiParser::NoIf, N, Y, }, // ELSEIF
-{ ENDIF, &SbiParser::NoIf, N, Y, }, // ENDIF
-{ END, &SbiParser::Stop, N, Y, }, // END
-{ ENUM, &SbiParser::Enum, Y, N, }, // TYPE
-{ ERASE, &SbiParser::Erase, N, Y, }, // ERASE
-{ _ERROR_, &SbiParser::ErrorStmnt, N, Y, }, // ERROR
-{ EXIT, &SbiParser::Exit, N, Y, }, // EXIT
-{ FOR, &SbiParser::For, N, Y, }, // FOR
-{ FUNCTION, &SbiParser::SubFunc, Y, N, }, // FUNCTION
-{ GOSUB, &SbiParser::Goto, N, Y, }, // GOSUB
-{ GLOBAL, &SbiParser::Dim, Y, N, }, // GLOBAL
-{ GOTO, &SbiParser::Goto, N, Y, }, // GOTO
-{ IF, &SbiParser::If, N, Y, }, // IF
+{ CALL, &SbiParser::Call, N, Y, }, // CALL
+{ CLOSE, &SbiParser::Close, N, Y, }, // CLOSE
+{ _CONST_, &SbiParser::Dim, Y, Y, }, // CONST
+{ DECLARE, &SbiParser::Declare, Y, N, }, // DECLARE
+{ DEFBOOL, &SbiParser::DefXXX, Y, N, }, // DEFBOOL
+{ DEFCUR, &SbiParser::DefXXX, Y, N, }, // DEFCUR
+{ DEFDATE, &SbiParser::DefXXX, Y, N, }, // DEFDATE
+{ DEFDBL, &SbiParser::DefXXX, Y, N, }, // DEFDBL
+{ DEFERR, &SbiParser::DefXXX, Y, N, }, // DEFERR
+{ DEFINT, &SbiParser::DefXXX, Y, N, }, // DEFINT
+{ DEFLNG, &SbiParser::DefXXX, Y, N, }, // DEFLNG
+{ DEFOBJ, &SbiParser::DefXXX, Y, N, }, // DEFOBJ
+{ DEFSNG, &SbiParser::DefXXX, Y, N, }, // DEFSNG
+{ DEFSTR, &SbiParser::DefXXX, Y, N, }, // DEFSTR
+{ DEFVAR, &SbiParser::DefXXX, Y, N, }, // DEFVAR
+{ DIM, &SbiParser::Dim, Y, Y, }, // DIM
+{ DO, &SbiParser::DoLoop, N, Y, }, // DO
+{ ELSE, &SbiParser::NoIf, N, Y, }, // ELSE
+{ ELSEIF, &SbiParser::NoIf, N, Y, }, // ELSEIF
+{ ENDIF, &SbiParser::NoIf, N, Y, }, // ENDIF
+{ END, &SbiParser::Stop, N, Y, }, // END
+{ ENUM, &SbiParser::Enum, Y, N, }, // TYPE
+{ ERASE, &SbiParser::Erase, N, Y, }, // ERASE
+{ _ERROR_, &SbiParser::ErrorStmnt, N, Y, }, // ERROR
+{ EXIT, &SbiParser::Exit, N, Y, }, // EXIT
+{ FOR, &SbiParser::For, N, Y, }, // FOR
+{ FUNCTION, &SbiParser::SubFunc, Y, N, }, // FUNCTION
+{ GOSUB, &SbiParser::Goto, N, Y, }, // GOSUB
+{ GLOBAL, &SbiParser::Dim, Y, N, }, // GLOBAL
+{ GOTO, &SbiParser::Goto, N, Y, }, // GOTO
+{ IF, &SbiParser::If, N, Y, }, // IF
{ IMPLEMENTS, &SbiParser::Implements, Y, N, }, // IMPLEMENTS
-{ INPUT, &SbiParser::Input, N, Y, }, // INPUT
-{ LET, &SbiParser::Assign, N, Y, }, // LET
-{ LINE, &SbiParser::Line, N, Y, }, // LINE, -> LINE INPUT (#i92642)
-{ LINEINPUT,&SbiParser::LineInput, N, Y, }, // LINE INPUT
-{ LOOP, &SbiParser::BadBlock, N, Y, }, // LOOP
-{ LSET, &SbiParser::LSet, N, Y, }, // LSET
-{ NAME, &SbiParser::Name, N, Y, }, // NAME
-{ NEXT, &SbiParser::BadBlock, N, Y, }, // NEXT
-{ ON, &SbiParser::On, N, Y, }, // ON
-{ OPEN, &SbiParser::Open, N, Y, }, // OPEN
-{ OPTION, &SbiParser::Option, Y, N, }, // OPTION
-{ PRINT, &SbiParser::Print, N, Y, }, // PRINT
-{ PRIVATE, &SbiParser::Dim, Y, N, }, // PRIVATE
-{ PROPERTY, &SbiParser::SubFunc, Y, N, }, // FUNCTION
-{ PUBLIC, &SbiParser::Dim, Y, N, }, // PUBLIC
-{ REDIM, &SbiParser::ReDim, N, Y, }, // DIM
-{ RESUME, &SbiParser::Resume, N, Y, }, // RESUME
-{ RETURN, &SbiParser::Return, N, Y, }, // RETURN
-{ RSET, &SbiParser::RSet, N, Y, }, // RSET
-{ SELECT, &SbiParser::Select, N, Y, }, // SELECT
-{ SET, &SbiParser::Set, N, Y, }, // SET
-{ STATIC, &SbiParser::Static, Y, Y, }, // STATIC
-{ STOP, &SbiParser::Stop, N, Y, }, // STOP
-{ SUB, &SbiParser::SubFunc, Y, N, }, // SUB
-{ TYPE, &SbiParser::Type, Y, N, }, // TYPE
-{ UNTIL, &SbiParser::BadBlock, N, Y, }, // UNTIL
-{ WHILE, &SbiParser::While, N, Y, }, // WHILE
-{ WEND, &SbiParser::BadBlock, N, Y, }, // WEND
-{ WITH, &SbiParser::With, N, Y, }, // WITH
-{ WRITE, &SbiParser::Write, N, Y, }, // WRITE
+{ INPUT, &SbiParser::Input, N, Y, }, // INPUT
+{ LET, &SbiParser::Assign, N, Y, }, // LET
+{ LINE, &SbiParser::Line, N, Y, }, // LINE, -> LINE INPUT (#i92642)
+{ LINEINPUT,&SbiParser::LineInput, N, Y, }, // LINE INPUT
+{ LOOP, &SbiParser::BadBlock, N, Y, }, // LOOP
+{ LSET, &SbiParser::LSet, N, Y, }, // LSET
+{ NAME, &SbiParser::Name, N, Y, }, // NAME
+{ NEXT, &SbiParser::BadBlock, N, Y, }, // NEXT
+{ ON, &SbiParser::On, N, Y, }, // ON
+{ OPEN, &SbiParser::Open, N, Y, }, // OPEN
+{ OPTION, &SbiParser::Option, Y, N, }, // OPTION
+{ PRINT, &SbiParser::Print, N, Y, }, // PRINT
+{ PRIVATE, &SbiParser::Dim, Y, N, }, // PRIVATE
+{ PROPERTY, &SbiParser::SubFunc, Y, N, }, // FUNCTION
+{ PUBLIC, &SbiParser::Dim, Y, N, }, // PUBLIC
+{ REDIM, &SbiParser::ReDim, N, Y, }, // DIM
+{ RESUME, &SbiParser::Resume, N, Y, }, // RESUME
+{ RETURN, &SbiParser::Return, N, Y, }, // RETURN
+{ RSET, &SbiParser::RSet, N, Y, }, // RSET
+{ SELECT, &SbiParser::Select, N, Y, }, // SELECT
+{ SET, &SbiParser::Set, N, Y, }, // SET
+{ STATIC, &SbiParser::Static, Y, Y, }, // STATIC
+{ STOP, &SbiParser::Stop, N, Y, }, // STOP
+{ SUB, &SbiParser::SubFunc, Y, N, }, // SUB
+{ TYPE, &SbiParser::Type, Y, N, }, // TYPE
+{ UNTIL, &SbiParser::BadBlock, N, Y, }, // UNTIL
+{ WHILE, &SbiParser::While, N, Y, }, // WHILE
+{ WEND, &SbiParser::BadBlock, N, Y, }, // WEND
+{ WITH, &SbiParser::With, N, Y, }, // WITH
+{ WRITE, &SbiParser::Write, N, Y, }, // WRITE
{ NIL, NULL, N, N }
};
@@ -132,21 +132,21 @@ SbiParser::SbiParser( StarBASIC* pb, SbModule* pm )
aRtlSyms( aGblStrings, SbRTL ),
aGen( *pm, this, 1024 )
{
- pBasic = pb;
+ pBasic = pb;
eCurExpr = SbSYMBOL;
eEndTok = NIL;
pProc = NULL;
pStack = NULL;
pWithVar = NULL;
- nBase = 0;
- bText =
+ nBase = 0;
+ bText =
bGblDefs =
bNewGblDefs =
bSingleLineIf =
bExplicit = FALSE;
bClassModule = ( pm->GetModuleType() == com::sun::star::script::ModuleType::CLASS );
OSL_TRACE("Parser - %s, bClassModule %d", rtl::OUStringToOString( pm->GetName(), RTL_TEXTENCODING_UTF8 ).getStr(), bClassModule );
- pPool = &aPublics;
+ pPool = &aPublics;
for( short i = 0; i < 26; i++ )
eDefTypes[ i ] = SbxVARIANT; // Kein expliziter Defaulttyp
@@ -241,8 +241,8 @@ void SbiParser::Exit()
for( SbiParseStack* p = pStack; p; p = p->pNext )
{
SbiToken eExitTok = p->eExitTok;
- if( eTok == eExitTok ||
- (eTok == PROPERTY && (eExitTok == GET || eExitTok == LET) ) ) // #i109051
+ if( eTok == eExitTok ||
+ (eTok == PROPERTY && (eExitTok == GET || eExitTok == LET) ) ) // #i109051
{
p->nChain = aGen.Gen( _JUMP, p->nChain );
return;
@@ -373,7 +373,7 @@ BOOL SbiParser::Parse()
// Ende des Parsings?
if( eCurTok == eEndTok ||
- ( bVBASupportOn && // #i109075
+ ( bVBASupportOn && // #i109075
(eCurTok == ENDFUNC || eCurTok == ENDPROPERTY || eCurTok == ENDSUB) &&
(eEndTok == ENDFUNC || eEndTok == ENDPROPERTY || eEndTok == ENDSUB) ) )
{
@@ -438,7 +438,7 @@ BOOL SbiParser::Parse()
// globalen Chain pflegen
// AB #41606/#40689: Durch die neue static-Behandlung kann noch
// ein nGblChain vorhanden sein, daher vorher abfragen
- if( bNewGblDefs && nGblChain == 0 &&
+ if( bNewGblDefs && nGblChain == 0 &&
( eCurTok == SUB || eCurTok == FUNCTION || eCurTok == PROPERTY ) )
{
nGblChain = aGen.Gen( _JUMP, 0 );
@@ -622,8 +622,8 @@ void SbiParser::Set()
aLvalue.Gen();
aExpr.Gen();
// Its a good idea to distinguish between
- // set someting = another &
- // someting = another
+ // set someting = another &
+ // someting = another
// ( its necessary for vba objects where set is object
// specific and also doesn't involve processing default params )
if( pDef->GetTypeId() )
@@ -711,7 +711,7 @@ void SbiParser::DefXXX()
void SbiParser::Stop()
{
aGen.Gen( _STOP );
- Peek(); // #35694: Nur Peek(), damit EOL in Single-Line-If erkannt wird
+ Peek(); // #35694: Nur Peek(), damit EOL in Single-Line-If erkannt wird
}
// IMPLEMENTS
@@ -761,7 +761,7 @@ void SbiParser::EnableCompatibility()
{
if( !bCompatible )
AddConstants();
- bCompatible = TRUE;
+ bCompatible = TRUE;
}
// OPTION
@@ -806,7 +806,7 @@ void SbiParser::Option()
break;
case CLASSMODULE:
- bClassModule = TRUE;
+ bClassModule = TRUE;
aGen.GetModule().SetModuleType( com::sun::star::script::ModuleType::CLASS );
break;
case VBASUPPORT: // Option VBASupport used to override the module mode ( in fact this must reset the mode