LibreOffice Module sc (master) 1
Classes | Public Types | Public Member Functions | Static Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes | Static Private Attributes | Friends | List of all members
ScCompiler Class Referencefinal

#include <compiler.hxx>

Inheritance diagram for ScCompiler:
[legend]
Collaboration diagram for ScCompiler:
[legend]

Classes

struct  AddInMap
 
struct  Convention
 
struct  PendingImplicitIntersectionOptimization
 "stack" of currently active ocTableRef tokens More...
 
struct  TableRefEntry
 get or setup tab names for the current grammar More...
 
struct  Whitespace
 

Public Types

enum  ExtendedErrorDetection {
  EXTENDED_ERROR_DETECTION_NONE = 0 ,
  EXTENDED_ERROR_DETECTION_NAME_BREAK ,
  EXTENDED_ERROR_DETECTION_NAME_NO_BREAK
}
 
- Public Types inherited from formula::FormulaCompiler
enum  SeparatorType {
  RESOURCE_BASE ,
  SEMICOLON_BASE
}
 
enum  InitSymbols
 
typedef std::shared_ptr< const OpCodeMap > OpCodeMapPtr
 
typedef std::shared_ptr< OpCodeMap > NonConstOpCodeMapPtr
 

Public Member Functions

 ScCompiler (sc::CompileFormulaContext &rCxt, const ScAddress &rPos, bool bComputeII=false, bool bMatrixFlag=false, const ScInterpreterContext *pContext=nullptr)
 
 ScCompiler (ScDocument &rDocument, const ScAddress &, formula::FormulaGrammar::Grammar eGrammar=formula::FormulaGrammar::GRAM_UNSPECIFIED, bool bComputeII=false, bool bMatrixFlag=false, const ScInterpreterContext *pContext=nullptr)
 If eGrammar == GRAM_UNSPECIFIED then the grammar of rDocument is used,. More...
 
 ScCompiler (sc::CompileFormulaContext &rCxt, const ScAddress &rPos, ScTokenArray &rArr, bool bComputeII=false, bool bMatrixFlag=false, const ScInterpreterContext *pContext=nullptr)
 
 ScCompiler (ScDocument &rDocument, const ScAddress &, ScTokenArray &rArr, formula::FormulaGrammar::Grammar eGrammar=formula::FormulaGrammar::GRAM_UNSPECIFIED, bool bComputeII=false, bool bMatrixFlag=false, const ScInterpreterContext *pContext=nullptr)
 If eGrammar == GRAM_UNSPECIFIED then the grammar of rDocument is used,. More...
 
virtual ~ScCompiler () override
 
bool ParseErrorConstant (const OUString &)
 
bool ParseTableRefItem (const OUString &)
 
bool ParseTableRefColumn (const OUString &)
 
bool GetTokenIfOpCode (OpCode eOp)
 Calls GetToken() if PeekNextNoSpaces() is of given OpCode. More...
 
void SetAutoCorrection (bool bVal)
 When auto correction is set, the jump command reorder must be enabled. More...
 
void SetCloseBrackets (bool bVal)
 
void SetRefConventionChartOOXML (bool bVal)
 
void SetRefConvention (const Convention *pConvP)
 
void SetRefConvention (const formula::FormulaGrammar::AddressConvention eConv)
 
OpCodeMapPtr GetOpCodeMap (const sal_Int32 nLanguage) const
 Overwrite FormulaCompiler::GetOpCodeMap() forwarding to GetFinalOpCodeMap(). More...
 
void SetFormulaLanguage (const OpCodeMapPtr &xMap)
 Set symbol map if not empty. More...
 
void SetGrammar (const formula::FormulaGrammar::Grammar eGrammar)
 
void SetNumberFormatter (SvNumberFormatter *pFormatter)
 
void SetExternalLinks (const css::uno::Sequence< css::sheet::ExternalLinkInfo > &rLinks)
 Set external link info for ScAddress::CONV_XL_OOX. More...
 
void CreateStringFromXMLTokenArray (OUString &rFormula, OUString &rFormulaNmsp)
 
void SetExtendedErrorDetection (ExtendedErrorDetection eVal)
 
bool IsCorrected () const
 
const OUString & GetCorrectedFormula () const
 
std::unique_ptr< ScTokenArrayCompileString (const OUString &rFormula)
 Tokenize formula expression string into an array of tokens. More...
 
std::unique_ptr< ScTokenArrayCompileString (const OUString &rFormula, const OUString &rFormulaNmsp)
 
const ScAddressGetPos () const
 
void MoveRelWrap ()
 
bool HasUnhandledPossibleImplicitIntersections () const
 
const std::set< OpCode > & UnhandledPossibleImplicitIntersectionsOpCodes ()
 
- Public Member Functions inherited from formula::FormulaCompiler
 FormulaCompiler (bool bComputeII=false, bool bMatrixFlag=false)
 
 FormulaCompiler (FormulaTokenArray &_rArr, bool bComputeII=false, bool bMatrixFlag=false)
 
virtual ~FormulaCompiler ()
 
OpCodeMapPtr GetOpCodeMap (const sal_Int32 nLanguage) const
 
void DestroyOpCodeMap (const sal_Int32 nLanguage)
 
bool HasOpCodeMap (const sal_Int32 nLanguage) const
 
const OpCodeMapPtrGetCurrentOpCodeMap () const
 
OpCode GetEnglishOpCode (const OUString &rName) const
 
FormulaError GetErrorConstant (const OUString &rName) const
 
void AppendErrorConstant (OUStringBuffer &rBuffer, FormulaError nError) const
 
void EnableJumpCommandReorder (bool bEnable)
 
void EnableStopOnError (bool bEnable)
 
SvNumFormatType GetNumFormatType () const
 
bool CompileTokenArray ()
 
void CreateStringFromTokenArray (OUString &rFormula)
 
void CreateStringFromTokenArray (OUStringBuffer &rBuffer)
 
const FormulaTokenCreateStringFromToken (OUString &rFormula, const FormulaToken *pToken)
 
const FormulaTokenCreateStringFromToken (OUStringBuffer &rBuffer, const FormulaToken *pToken, bool bAllowArrAdvance=false)
 
void AppendBoolean (OUStringBuffer &rBuffer, bool bVal) const
 
void AppendDouble (OUStringBuffer &rBuffer, double fVal) const
 
FormulaGrammar::Grammar GetGrammar () const
 
bool NeedsTableRefTransformation () const
 
virtual formula::ParamClass GetForceArrayParameter (const FormulaToken *pToken, sal_uInt16 nParam) const
 
void SetComputeIIFlag (bool bSet)
 
void SetMatrixFlag (bool bSet)
 

Static Public Member Functions

static const CharClassGetCharClassLocalized ()
 
static const CharClassGetCharClassEnglish ()
 
static void DeInit ()
 
static void CheckTabQuotes (OUString &aTabName, const formula::FormulaGrammar::AddressConvention eConv=formula::FormulaGrammar::CONV_OOO)
 all More...
 
static sal_Int32 GetDocTabPos (const OUString &rString)
 Analyzes a string for a 'Doc'Tab construct, or 'Do''c'Tab etc... More...
 
static bool IsEnglishSymbol (const OUString &rName)
 
static const ConventionGetRefConvention (formula::FormulaGrammar::AddressConvention eConv)
 
static void MoveRelWrap (const ScTokenArray &rArr, const ScDocument &rDoc, const ScAddress &rPos, SCCOL nMaxCol, SCROW nMaxRow)
 
static bool IsCharFlagAllConventions (OUString const &rStr, sal_Int32 nPos, ScCharFlags nFlags)
 If the character is allowed as tested by nFlags (SC_COMPILER_C_... bits) for all known address conventions. More...
 
static bool DoubleRefToPosSingleRefScalarCase (const ScRange &rRange, ScAddress &rAdr, const ScAddress &rFormulaPos)
 TODO : Move this to somewhere appropriate. More...
 
- Static Public Member Functions inherited from formula::FormulaCompiler
static OpCodeMapPtr CreateOpCodeMap (const css::uno::Sequence< const css::sheet::FormulaOpCodeMapEntry > &rMapping, bool bEnglish)
 
static bool IsOpCodeVolatile (OpCode eOp)
 
static bool IsOpCodeJumpCommand (OpCode eOp)
 
static bool DeQuote (OUString &rStr)
 
static const OUString & GetNativeSymbol (OpCode eOp)
 
static sal_Unicode GetNativeSymbolChar (OpCode eOp)
 
static bool IsMatrixFunction (OpCode _eOpCode)
 
static void AppendString (OUStringBuffer &rBuffer, const OUString &rStr)
 
static void UpdateSeparatorsNative (const OUString &rSep, const OUString &rArrayColSep, const OUString &rArrayRowSep)
 
static void ResetNativeSymbols ()
 
static void SetNativeSymbols (const OpCodeMapPtr &xMap)
 

Private Member Functions

std::vector< OUString > & GetSetupTabNames () const
 sheet names mangled for the current grammar for output More...
 
bool NextNewToken (bool bInArray)
 
bool ToUpperAsciiOrI18nIsAscii (OUString &rUpper, const OUString &rOrg) const
 
virtual void SetError (FormulaError nError) override
 
std::vector< WhitespaceNextSymbol (bool bInArray)
 
bool ParseValue (const OUString &)
 
bool ParseOpCode (const OUString &, bool bInArray)
 
bool ParseOpCode2 (std::u16string_view)
 
bool ParseString ()
 
bool ParseReference (const OUString &rSymbol, const OUString *pErrRef=nullptr)
 
bool ParseSingleReference (const OUString &rSymbol, const OUString *pErrRef=nullptr)
 
bool ParseDoubleReference (const OUString &rSymbol, const OUString *pErrRef=nullptr)
 
bool ParsePredetectedReference (const OUString &rSymbol)
 
bool ParsePredetectedErrRefReference (const OUString &rName, const OUString *pErrRef)
 
bool ParseMacro (const OUString &)
 
bool ParseNamedRange (const OUString &, bool onlyCheck=false)
 
bool ParseExternalNamedRange (const OUString &rSymbol, bool &rbInvalidExternalNameRange)
 
bool ParseDBRange (const OUString &)
 
bool ParseColRowName (const OUString &)
 
bool ParseBoolean (const OUString &)
 
void AutoCorrectParsedSymbol ()
 
const ScRangeDataGetRangeData (SCTAB &rSheet, const OUString &rUpperName) const
 
void AdjustSheetLocalNameRelReferences (SCTAB nDelta)
 
void SetRelNameReference ()
 
ScRangeDataGetRangeData (const formula::FormulaToken &pToken) const
 Obtain range data for ocName token, global or sheet local. More...
 
bool HasPossibleNamedRangeConflict (SCTAB nTab) const
 
void SetGrammarAndRefConvention (const formula::FormulaGrammar::Grammar eNewGrammar, const formula::FormulaGrammar::Grammar eOldGrammar)
 Set grammar and reference convention from within SetFormulaLanguage() or SetGrammar(). More...
 
virtual OUString FindAddInFunction (const OUString &rUpperName, bool bLocalFirst) const override
 
virtual void fillFromAddInCollectionUpperName (const NonConstOpCodeMapPtr &xMap) const override
 
virtual void fillFromAddInCollectionEnglishName (const NonConstOpCodeMapPtr &xMap) const override
 
virtual void fillFromAddInMap (const NonConstOpCodeMapPtr &xMap, formula::FormulaGrammar::Grammar _eGrammar) const override
 
virtual void fillAddInToken (::std::vector< css::sheet::FormulaOpCodeMapEntry > &_rVec, bool _bIsEnglish) const override
 
virtual bool HandleExternalReference (const formula::FormulaToken &_aToken) override
 
virtual bool HandleRange () override
 
virtual bool HandleColRowName () override
 
virtual bool HandleDbData () override
 
virtual bool HandleTableRef () override
 
virtual formula::FormulaTokenRef ExtendRangeReference (formula::FormulaToken &rTok1, formula::FormulaToken &rTok2) override
 
virtual void CreateStringFromExternal (OUStringBuffer &rBuffer, const formula::FormulaToken *pToken) const override
 
virtual void CreateStringFromSingleRef (OUStringBuffer &rBuffer, const formula::FormulaToken *pToken) const override
 
virtual void CreateStringFromDoubleRef (OUStringBuffer &rBuffer, const formula::FormulaToken *pToken) const override
 
virtual void CreateStringFromMatrix (OUStringBuffer &rBuffer, const formula::FormulaToken *pToken) const override
 
virtual void CreateStringFromIndex (OUStringBuffer &rBuffer, const formula::FormulaToken *pToken) const override
 
virtual void LocalizeString (OUString &rName) const override
 
virtual formula::ParamClass GetForceArrayParameter (const formula::FormulaToken *pToken, sal_uInt16 nParam) const override
 
ScCharFlags GetCharTableFlags (sal_Unicode c, sal_Unicode cLast)
 Access the CharTable flags. More...
 
virtual void HandleIIOpCode (formula::FormulaToken *token, formula::FormulaToken ***pppToken, sal_uInt8 nNumParams) override
 
bool HandleIIOpCodeInternal (formula::FormulaToken *token, formula::FormulaToken ***pppToken, sal_uInt8 nNumParams)
 
bool SkipImplicitIntersectionOptimization (const formula::FormulaToken *token) const
 
virtual void PostProcessCode () override
 
virtual void AnnotateOperands () override
 
void ReplaceDoubleRefII (formula::FormulaToken **ppDoubleRefTok)
 
bool AdjustSumRangeShape (const ScComplexRefData &rBaseRange, ScComplexRefData &rSumRange)
 
void CorrectSumRange (const ScComplexRefData &rBaseRange, ScComplexRefData &rSumRange, formula::FormulaToken **ppSumRangeToken)
 
void AnnotateTrimOnDoubleRefs ()
 

Static Private Member Functions

static size_t GetAddInMapCount ()
 
static void addWhitespace (std::vector< ScCompiler::Whitespace > &rvSpaces, ScCompiler::Whitespace &rSpace, sal_Unicode c, sal_Int32 n=1)
 
static bool ParameterMayBeImplicitIntersection (const formula::FormulaToken *token, int parameter)
 

Private Attributes

ScDocumentrDoc
 
ScAddress aPos
 
SvNumberFormattermpFormatter
 
const ScInterpreterContextmpInterpreterContext
 
SCTAB mnCurrentSheetTab
 
sal_Int32 mnCurrentSheetEndPos
 
css::uno::Sequence< css::sheet::ExternalLinkInfo > maExternalLinks
 
sal_Unicode cSymbol [MAXSTRLEN+1]
 
OUString aFormula
 
sal_Int32 nSrcPos
 
ScRawToken maRawToken
 
std::queue< OpCodemaPendingOpCodes
 
const CharClasspCharClass
 
bool mbCharClassesDiffer
 
sal_uInt16 mnPredetectedReference
 
sal_Int32 mnRangeOpPosInSymbol
 
const ConventionpConv
 
ExtendedErrorDetection meExtendedErrorDetection
 
bool mbCloseBrackets
 
bool mbRewind
 
bool mbRefConventionChartOOXML
 
std::vector< sal_uInt16 > maExternalFiles
 
std::vector< OUString > maTabNames
 
std::vector< TableRefEntrymaTableRefs
 
std::vector< PendingImplicitIntersectionOptimizationmPendingImplicitIntersectionOptimizations
 
std::unordered_set< formula::FormulaTokenRefmUnhandledPossibleImplicitIntersections
 
std::set< OpCodemUnhandledPossibleImplicitIntersectionsOpCodes
 

Static Private Attributes

static const CharClasspCharClassEnglish = nullptr
 
static const CharClasspCharClassLocalized = nullptr
 
static const ConventionpConventions [formula::FormulaGrammar::CONV_LAST] = { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }
 
static const struct ScCompiler::AddInMap g_aAddInMap []
 

Friends

struct Convention
 

Additional Inherited Members

- Public Attributes inherited from formula::FormulaCompiler
 ASK
 
 INIT
 
 DESTROY
 
- Protected Member Functions inherited from formula::FormulaCompiler
OpCodeMapPtr GetFinalOpCodeMap (const sal_Int32 nLanguage) const
 
virtual OUString FindAddInFunction (const OUString &rUpperName, bool bLocalFirst) const
 
virtual void fillFromAddInCollectionUpperName (const NonConstOpCodeMapPtr &xMap) const
 
virtual void fillFromAddInMap (const NonConstOpCodeMapPtr &xMap, FormulaGrammar::Grammar _eGrammar) const
 
virtual void fillFromAddInCollectionEnglishName (const NonConstOpCodeMapPtr &xMap) const
 
virtual void fillAddInToken (::std::vector< css::sheet::FormulaOpCodeMapEntry > &_rVec, bool _bIsEnglish) const
 
virtual void SetError (FormulaError nError)
 
virtual FormulaTokenRef ExtendRangeReference (FormulaToken &rTok1, FormulaToken &rTok2)
 
virtual bool HandleExternalReference (const FormulaToken &_aToken)
 
virtual bool HandleRange ()
 
virtual bool HandleColRowName ()
 
virtual bool HandleDbData ()
 
virtual bool HandleTableRef ()
 
virtual void CreateStringFromExternal (OUStringBuffer &rBuffer, const FormulaToken *pToken) const
 
virtual void CreateStringFromSingleRef (OUStringBuffer &rBuffer, const FormulaToken *pToken) const
 
virtual void CreateStringFromDoubleRef (OUStringBuffer &rBuffer, const FormulaToken *pToken) const
 
virtual void CreateStringFromMatrix (OUStringBuffer &rBuffer, const FormulaToken *pToken) const
 
virtual void CreateStringFromIndex (OUStringBuffer &rBuffer, const FormulaToken *pToken) const
 
virtual void LocalizeString (OUString &rName) const
 
bool GetToken ()
 
OpCode NextToken ()
 
void PutCode (FormulaTokenRef &)
 
void Factor ()
 
void RangeLine ()
 
void UnionLine ()
 
void IntersectionLine ()
 
void UnaryLine ()
 
void PostOpLine ()
 
void PowLine ()
 
void MulDivLine ()
 
void AddSubLine ()
 
void ConcatLine ()
 
void CompareLine ()
 
OpCode Expression ()
 
void PopTokenArray ()
 
void PushTokenArray (FormulaTokenArray *, bool)
 
bool MergeRangeReference (FormulaToken **const pCode1, FormulaToken *const *const pCode2)
 
virtual void HandleIIOpCode (FormulaToken *, FormulaToken ***, sal_uInt8)
 
virtual void PostProcessCode ()
 
virtual void AnnotateOperands ()
 
- Protected Attributes inherited from formula::FormulaCompiler
OUString aCorrectedFormula
 
OUString aCorrectedSymbol
 
OpCodeMapPtr mxSymbols
 
FormulaTokenRef mpToken
 
FormulaTokenRef pCurrentFactorToken
 
sal_uInt16 nCurrentFactorParam
 
FormulaTokenArraypArr
 
FormulaTokenArrayPlainIterator maArrIterator
 
FormulaTokenRef mpLastToken
 
FormulaToken ** pCode
 
FormulaArrayStackpStack
 
OpCode eLastOp
 
short nRecursion
 
SvNumFormatType nNumFmt
 
sal_uInt16 pc
 
FormulaGrammar::Grammar meGrammar
 
bool bAutoCorrect
 
bool bCorrected
 
bool glSubTotal
 
bool needsRPNTokenCheck
 
bool mbJumpCommandReorder
 
bool mbStopOnError
 
bool mbComputeII
 
bool mbMatrixFlag
 

Detailed Description

Definition at line 180 of file compiler.hxx.

Member Enumeration Documentation

◆ ExtendedErrorDetection

Enumerator
EXTENDED_ERROR_DETECTION_NONE 
EXTENDED_ERROR_DETECTION_NAME_BREAK 
EXTENDED_ERROR_DETECTION_NAME_NO_BREAK 

Definition at line 184 of file compiler.hxx.

Constructor & Destructor Documentation

◆ ScCompiler() [1/4]

ScCompiler::ScCompiler ( sc::CompileFormulaContext rCxt,
const ScAddress rPos,
bool  bComputeII = false,
bool  bMatrixFlag = false,
const ScInterpreterContext pContext = nullptr 
)

◆ ScCompiler() [2/4]

ScCompiler::ScCompiler ( ScDocument rDocument,
const ScAddress rPos,
formula::FormulaGrammar::Grammar  eGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED,
bool  bComputeII = false,
bool  bMatrixFlag = false,
const ScInterpreterContext pContext = nullptr 
)

If eGrammar == GRAM_UNSPECIFIED then the grammar of rDocument is used,.

Definition at line 1924 of file compiler.cxx.

References getCharClass(), ScDocument::GetGrammar(), formula::FormulaGrammar::GRAM_UNSPECIFIED, and SetGrammar().

◆ ScCompiler() [3/4]

ScCompiler::ScCompiler ( sc::CompileFormulaContext rCxt,
const ScAddress rPos,
ScTokenArray rArr,
bool  bComputeII = false,
bool  bMatrixFlag = false,
const ScInterpreterContext pContext = nullptr 
)

◆ ScCompiler() [4/4]

ScCompiler::ScCompiler ( ScDocument rDocument,
const ScAddress rPos,
ScTokenArray rArr,
formula::FormulaGrammar::Grammar  eGrammar = formula::FormulaGrammar::GRAM_UNSPECIFIED,
bool  bComputeII = false,
bool  bMatrixFlag = false,
const ScInterpreterContext pContext = nullptr 
)

If eGrammar == GRAM_UNSPECIFIED then the grammar of rDocument is used,.

Definition at line 1875 of file compiler.cxx.

References getCharClass(), ScDocument::GetGrammar(), formula::FormulaGrammar::GRAM_UNSPECIFIED, and SetGrammar().

◆ ~ScCompiler()

ScCompiler::~ScCompiler ( )
overridevirtual

Definition at line 1950 of file compiler.cxx.

Member Function Documentation

◆ addWhitespace()

void ScCompiler::addWhitespace ( std::vector< ScCompiler::Whitespace > &  rvSpaces,
ScCompiler::Whitespace rSpace,
sal_Unicode  c,
sal_Int32  n = 1 
)
staticprivate

◆ AdjustSheetLocalNameRelReferences()

void ScCompiler::AdjustSheetLocalNameRelReferences ( SCTAB  nDelta)
private

◆ AdjustSumRangeShape()

bool ScCompiler::AdjustSumRangeShape ( const ScComplexRefData rBaseRange,
ScComplexRefData rSumRange 
)
private

◆ AnnotateOperands()

void ScCompiler::AnnotateOperands ( )
overrideprivatevirtual

Reimplemented from formula::FormulaCompiler.

Definition at line 6292 of file compiler.cxx.

References AnnotateTrimOnDoubleRefs().

◆ AnnotateTrimOnDoubleRefs()

void ScCompiler::AnnotateTrimOnDoubleRefs ( )
private

◆ AutoCorrectParsedSymbol()

void ScCompiler::AutoCorrectParsedSymbol ( )
private

◆ CheckTabQuotes()

void ScCompiler::CheckTabQuotes ( OUString &  aTabName,
const formula::FormulaGrammar::AddressConvention  eConv = formula::FormulaGrammar::CONV_OOO 
)
static

◆ CompileString() [1/2]

std::unique_ptr< ScTokenArray > ScCompiler::CompileString ( const OUString &  rFormula)

Tokenize formula expression string into an array of tokens.

Parameters
rFormulaformula expression to tokenize.
Returns
heap allocated token array object. The caller must manage the life cycle of this object.

Definition at line 4691 of file compiler.cxx.

References aArr, formula::FormulaCompiler::aCorrectedFormula, formula::FormulaCompiler::aCorrectedSymbol, Add, formula::FormulaTokenArray::AddToken(), aFormula, aPos, formula::FormulaCompiler::bAutoCorrect, formula::FormulaCompiler::bCorrected, ScRawToken::CreateToken(), formula::FormulaCompiler::eLastOp, ScDocument::GetExternalRefManager(), formula::FormulaToken::GetIndex(), formula::FormulaTokenArray::GetLen(), formula::FormulaToken::GetOpCode(), ScRawToken::GetOpCode(), ScDocument::GetSheetLimits(), formula::FormulaToken::GetType(), formula::FormulaCompiler::maArrIterator, maExternalFiles, o3tl::make_unsigned(), maRawToken, maTableRefs, mbCloseBrackets, formula::FormulaCompiler::meGrammar, formula::FormulaCompiler::MergeRangeReference(), formula::FormulaCompiler::mxSymbols, NextNewToken(), nSrcPos, ocAddress, ocArrayClose, ocArrayColSep, ocArrayOpen, ocArrayRowSep, ocClose, ocColRowName, ocColRowNameAuto, ocDBArea, ocNone, ocOpen, ocPush, ocRange, ocSep, ocSkip, ocTableRefClose, ocTableRefOpen, ocWeek, formula::FormulaTokenArray::OpCodeBefore(), formula::FormulaCompiler::pArr, formula::FormulaTokenArray::PeekPrev(), rDoc, SAL_WARN_IF, SetError(), SetGrammar(), formula::FormulaTokenArray::SetRecalcModeForced(), comphelper::string::strip(), svSep, svSingleRef, and ScTableRefToken::TABLE.

Referenced by ScVbaNames::Add(), ScOrcusFormula::commit(), ScConditionEntry::Compile(), ScFormulaCell::Compile(), ScRangeData::CompileRangeData(), CompileString(), ScFormulaCell::CompileXML(), XclExpChSourceLink::ConvertDataSequence(), ScViewFunc::DoRefConversion(), ScXMLConditionalFormatContext::endFastElement(), ScViewFunc::EnterData(), ScDocFunc::EnterMatrix(), ScOrcusFactory::finalize(), oox::xls::DefinedName::getScTokens(), IMPL_LINK(), oox::xls::ExternalName::importDefinedName(), ScNameDefDlg::IsFormulaValid(), ScNameDlg::IsFormulaValid(), ScTabViewShell::IsRefInputMode(), ScFormulaParserObj::parseFormula(), ScInterpreter::ScIndirect(), ScSimpleFormulaCalculator::ScSimpleFormulaCalculator(), ScVbaName::setContent(), ScConditionEntryObj::setPropertyValue(), and ScImportExport::Sylk2Doc().

◆ CompileString() [2/2]

std::unique_ptr< ScTokenArray > ScCompiler::CompileString ( const OUString &  rFormula,
const OUString &  rFormulaNmsp 
)

◆ CorrectSumRange()

void ScCompiler::CorrectSumRange ( const ScComplexRefData rBaseRange,
ScComplexRefData rSumRange,
formula::FormulaToken **  ppSumRangeToken 
)
private

◆ CreateStringFromDoubleRef()

void ScCompiler::CreateStringFromDoubleRef ( OUStringBuffer &  rBuffer,
const formula::FormulaToken pToken 
) const
overrideprivatevirtual

◆ CreateStringFromExternal()

void ScCompiler::CreateStringFromExternal ( OUStringBuffer &  rBuffer,
const formula::FormulaToken pToken 
) const
overrideprivatevirtual

◆ CreateStringFromIndex()

void ScCompiler::CreateStringFromIndex ( OUStringBuffer &  rBuffer,
const formula::FormulaToken pToken 
) const
overrideprivatevirtual

◆ CreateStringFromMatrix()

void ScCompiler::CreateStringFromMatrix ( OUStringBuffer &  rBuffer,
const formula::FormulaToken pToken 
) const
overrideprivatevirtual

◆ CreateStringFromSingleRef()

void ScCompiler::CreateStringFromSingleRef ( OUStringBuffer &  rBuffer,
const formula::FormulaToken pToken 
) const
overrideprivatevirtual

◆ CreateStringFromXMLTokenArray()

void ScCompiler::CreateStringFromXMLTokenArray ( OUString &  rFormula,
OUString &  rFormulaNmsp 
)

◆ DeInit()

void ScCompiler::DeInit ( )
static

Definition at line 187 of file compiler.cxx.

References pCharClassEnglish, and pCharClassLocalized.

Referenced by ScGlobal::Clear().

◆ DoubleRefToPosSingleRefScalarCase()

bool ScCompiler::DoubleRefToPosSingleRefScalarCase ( const ScRange rRange,
ScAddress rAdr,
const ScAddress rFormulaPos 
)
static

TODO : Move this to somewhere appropriate.

Definition at line 6337 of file compiler.cxx.

References ScRange::aEnd, ScRange::aStart, ScAddress::Col(), ScAddress::Row(), ScAddress::Set(), and ScAddress::Tab().

Referenced by ScInterpreter::DoubleRefToPosSingleRef(), and ReplaceDoubleRefII().

◆ ExtendRangeReference()

FormulaTokenRef ScCompiler::ExtendRangeReference ( formula::FormulaToken rTok1,
formula::FormulaToken rTok2 
)
overrideprivatevirtual

Reimplemented from formula::FormulaCompiler.

Definition at line 5509 of file compiler.cxx.

References aPos, extendRangeReference(), ScDocument::GetSheetLimits(), and rDoc.

◆ fillAddInToken()

void ScCompiler::fillAddInToken ( ::std::vector< css::sheet::FormulaOpCodeMapEntry > &  _rVec,
bool  _bIsEnglish 
) const
overrideprivatevirtual

◆ fillFromAddInCollectionEnglishName()

void ScCompiler::fillFromAddInCollectionEnglishName ( const NonConstOpCodeMapPtr xMap) const
overrideprivatevirtual

◆ fillFromAddInCollectionUpperName()

void ScCompiler::fillFromAddInCollectionUpperName ( const NonConstOpCodeMapPtr xMap) const
overrideprivatevirtual

◆ fillFromAddInMap()

void ScCompiler::fillFromAddInMap ( const NonConstOpCodeMapPtr xMap,
formula::FormulaGrammar::Grammar  _eGrammar 
) const
overrideprivatevirtual

Reimplemented from formula::FormulaCompiler.

Definition at line 109 of file compiler.cxx.

References g_aAddInMap, and GetAddInMapCount().

◆ FindAddInFunction()

OUString ScCompiler::FindAddInFunction ( const OUString &  rUpperName,
bool  bLocalFirst 
) const
overrideprivatevirtual

Reimplemented from formula::FormulaCompiler.

Definition at line 350 of file compiler.cxx.

References ScUnoAddInCollection::FindFunction(), and ScGlobal::GetAddInCollection().

◆ GetAddInMapCount()

size_t ScCompiler::GetAddInMapCount ( )
staticprivate

Definition at line 137 of file odffmap.cxx.

References g_aAddInMap.

Referenced by fillFromAddInMap().

◆ GetCharClassEnglish()

const CharClass * ScCompiler::GetCharClassEnglish ( )
static

◆ GetCharClassLocalized()

const CharClass * ScCompiler::GetCharClassLocalized ( )
static

◆ GetCharTableFlags()

ScCharFlags ScCompiler::GetCharTableFlags ( sal_Unicode  c,
sal_Unicode  cLast 
)
inlineprivate

Access the CharTable flags.

Definition at line 538 of file compiler.hxx.

References ScCompiler::Convention::getCharTableFlags(), and NONE.

Referenced by AutoCorrectParsedSymbol(), NextSymbol(), and ParseReference().

◆ GetCorrectedFormula()

const OUString & ScCompiler::GetCorrectedFormula ( ) const
inline

Definition at line 480 of file compiler.hxx.

References formula::FormulaCompiler::aCorrectedFormula.

Referenced by ScViewFunc::EnterData().

◆ GetDocTabPos()

sal_Int32 ScCompiler::GetDocTabPos ( const OUString &  rString)
static

Analyzes a string for a 'Doc'Tab construct, or 'Do''c'Tab etc...

Returns
the position of the unquoted # hash mark in 'Doc'Tab, or -1 if none.

Definition at line 1993 of file compiler.cxx.

References ScGlobal::FindUnquoted(), nPos, and SC_COMPILER_FILE_TAB_SEP.

Referenced by lcl_Format(), lcl_Split_DocTab(), and ScInterpreter::ScAddressFunc().

◆ GetForceArrayParameter()

formula::ParamClass ScCompiler::GetForceArrayParameter ( const formula::FormulaToken pToken,
sal_uInt16  nParam 
) const
overrideprivatevirtual

Reimplemented from formula::FormulaCompiler.

Definition at line 6096 of file compiler.cxx.

References ScParameterClassification::GetParameterType().

◆ GetOpCodeMap()

OpCodeMapPtr ScCompiler::GetOpCodeMap ( const sal_Int32  nLanguage) const
inline

Overwrite FormulaCompiler::GetOpCodeMap() forwarding to GetFinalOpCodeMap().

Definition at line 443 of file compiler.hxx.

References formula::FormulaCompiler::GetFinalOpCodeMap().

Referenced by ScFormulaParserObj::SetCompilerFlags(), and ScDocShell::SetFormulaOptions().

◆ GetPos()

const ScAddress & ScCompiler::GetPos ( ) const
inline

Definition at line 492 of file compiler.hxx.

Referenced by CreateStringFromExternal().

◆ GetRangeData() [1/2]

ScRangeData * ScCompiler::GetRangeData ( const formula::FormulaToken pToken) const
private

Obtain range data for ocName token, global or sheet local.

Prerequisite: rToken is a FormulaIndexToken so IsGlobal() and GetIndex() can be called on it. We don't check with RTTI.

Definition at line 5035 of file compiler.cxx.

References ScDocument::FindRangeNameBySheetAndIndex(), formula::FormulaToken::GetIndex(), formula::FormulaToken::GetSheet(), and rDoc.

◆ GetRangeData() [2/2]

const ScRangeData * ScCompiler::GetRangeData ( SCTAB rSheet,
const OUString &  rUpperName 
) const
private

◆ GetRefConvention()

const ScCompiler::Convention * ScCompiler::GetRefConvention ( formula::FormulaGrammar::AddressConvention  eConv)
static

Definition at line 2011 of file compiler.cxx.

Referenced by ScDocument::GetSheetSeparator(), and SetRefConvention().

◆ GetSetupTabNames()

std::vector< OUString > & ScCompiler::GetSetupTabNames ( ) const
private

◆ GetTokenIfOpCode()

bool ScCompiler::GetTokenIfOpCode ( OpCode  eOp)

Calls GetToken() if PeekNextNoSpaces() is of given OpCode.

Definition at line 5781 of file compiler.cxx.

References formula::FormulaCompiler::GetToken(), formula::FormulaCompiler::maArrIterator, p, and formula::FormulaTokenArrayPlainIterator::PeekNextNoSpaces().

Referenced by HandleTableRef().

◆ HandleColRowName()

bool ScCompiler::HandleColRowName ( )
overrideprivatevirtual

◆ HandleDbData()

bool ScCompiler::HandleDbData ( )
overrideprivatevirtual

◆ HandleExternalReference()

bool ScCompiler::HandleExternalReference ( const formula::FormulaToken _aToken)
overrideprivatevirtual

◆ HandleIIOpCode()

void ScCompiler::HandleIIOpCode ( formula::FormulaToken token,
formula::FormulaToken ***  pppToken,
sal_uInt8  nNumParams 
)
overrideprivatevirtual

◆ HandleIIOpCodeInternal()

bool ScCompiler::HandleIIOpCodeInternal ( formula::FormulaToken token,
formula::FormulaToken ***  pppToken,
sal_uInt8  nNumParams 
)
private

◆ HandleRange()

bool ScCompiler::HandleRange ( )
overrideprivatevirtual

◆ HandleTableRef()

bool ScCompiler::HandleTableRef ( )
overrideprivatevirtual

Reimplemented from formula::FormulaCompiler.

Definition at line 5797 of file compiler.cxx.

References formula::FormulaTokenArray::Add(), ScTokenArray::AddDoubleReference(), ScTokenArray::AddSingleReference(), ScRange::aEnd, ScTableRefToken::ALL, aPos, ScRange::aStart, ScTableRefToken::DATA, ScTableRefToken::DATA_TOTALS, ScDBCollection::NamedDBs::findByIndex(), ScDBData::GetArea(), ScDocument::GetDBCollection(), ScTableRefToken::GetIndex(), ScTableRefToken::GetItem(), ScDBCollection::getNamedDBs(), ScDocument::GetSheetLimits(), formula::FormulaCompiler::GetToken(), GetTokenIfOpCode(), ScDBData::HasHeader(), ScDBData::HasTotals(), ScTableRefToken::HEADERS, ScTableRefToken::HEADERS_DATA, ScAddress::IncRow(), ScSingleRefData::InitFlags(), ScComplexRefData::InitFlags(), ScAddress::INITIALIZE_INVALID, ScRange::Intersection(), formula::FormulaTokenArray::IsFromRangeName(), ScRange::IsValid(), formula::FormulaCompiler::maArrIterator, formula::FormulaCompiler::mbJumpCommandReorder, formula::FormulaCompiler::mpToken, ocBad, ocPush, ocRange, ocSep, ocTableRefClose, ocTableRefItemAll, ocTableRefItemData, ocTableRefItemHeaders, ocTableRefItemThisRow, ocTableRefItemTotals, ocTableRefOpen, p, formula::FormulaCompiler::pArr, formula::FormulaTokenArrayPlainIterator::PeekNextNoSpaces(), formula::FormulaCompiler::PushTokenArray(), ScRange::PutInOrder(), rDoc, ScComplexRefData::Ref1, ScComplexRefData::Ref2, ScAddress::Row(), ScSingleRefData::SetAddress(), ScTableRefToken::SetAreaRefRPN(), ScSingleRefData::SetColRel(), SetError(), ScSingleRefData::SetFlag3D(), ScComplexRefData::SetRange(), ScSingleRefData::SetRelName(), ScAddress::SetRow(), ScSingleRefData::SetRowRel(), ScAddress::SetTab(), svSingleRef, ScAddress::Tab(), ScTableRefToken::TABLE, ScTableRefToken::THIS_ROW, and ScTableRefToken::TOTALS.

◆ HasPossibleNamedRangeConflict()

bool ScCompiler::HasPossibleNamedRangeConflict ( SCTAB  nTab) const
private

◆ HasUnhandledPossibleImplicitIntersections()

bool ScCompiler::HasUnhandledPossibleImplicitIntersections ( ) const
inline

Definition at line 508 of file compiler.hxx.

Referenced by ScFormulaCell::InterpretFormulaGroupOpenCL().

◆ IsCharFlagAllConventions()

bool ScCompiler::IsCharFlagAllConventions ( OUString const &  rStr,
sal_Int32  nPos,
ScCharFlags  nFlags 
)
static

If the character is allowed as tested by nFlags (SC_COMPILER_C_... bits) for all known address conventions.

If more than one bit is given in nFlags, all bits must match.

Definition at line 5214 of file compiler.cxx.

References formula::FormulaGrammar::CONV_LAST, formula::FormulaGrammar::CONV_UNSPECIFIED, ScGlobal::getCharClass(), CharClass::isLetterNumeric(), nPos, and pConventions.

Referenced by ScfTools::ConvertToScDefinedName(), ScRangeData::IsNameValid(), and ScRangeData::MakeValidName().

◆ IsCorrected()

bool ScCompiler::IsCorrected ( ) const
inline

Definition at line 479 of file compiler.hxx.

References formula::FormulaCompiler::bCorrected.

Referenced by ScViewFunc::EnterData().

◆ IsEnglishSymbol()

bool ScCompiler::IsEnglishSymbol ( const OUString &  rName)
static

◆ LocalizeString()

void ScCompiler::LocalizeString ( OUString &  rName) const
overrideprivatevirtual

◆ MoveRelWrap() [1/2]

void ScCompiler::MoveRelWrap ( )

◆ MoveRelWrap() [2/2]

void ScCompiler::MoveRelWrap ( const ScTokenArray rArr,
const ScDocument rDoc,
const ScAddress rPos,
SCCOL  nMaxCol,
SCROW  nMaxRow 
)
static

◆ NextNewToken()

bool ScCompiler::NextNewToken ( bool  bInArray)
private

Definition at line 4357 of file compiler.cxx.

References formula::FormulaTokenArray::AddBad(), ScTokenArray::AddRawToken(), aFormula, aStr, AutoCorrectParsedSymbol(), formula::FormulaCompiler::bAutoCorrect, ScRawToken::cByte, ScRawToken::cChar, cSymbol, formula::FormulaCompiler::eLastOp, EXTENDED_ERROR_DETECTION_NAME_BREAK, EXTENDED_ERROR_DETECTION_NAME_NO_BREAK, EXTENDED_ERROR_DETECTION_NONE, ScGlobal::getCharClass(), formula::FormulaTokenArray::GetCodeError(), svl::SharedString::getData(), svl::SharedString::getDataIgnoreCase(), formula::FormulaToken::GetOpCode(), ScDocument::GetSharedStringPool(), svl::SharedStringPool::intern(), utl::ConfigManager::IsFuzzing(), ScDocument::IsImportingXML(), CharClass::isLetter(), ScRawToken::IsValidReference(), maPendingOpCodes, maRawToken, maTableRefs, mbCharClassesDiffer, mbRewind, meExtendedErrorDetection, mnPredetectedReference, formula::FormulaCompiler::mxSymbols, ScRawToken::nCount, ScRawToken::NewOpCode(), NextSymbol(), nSrcPos, ocBad, ocErrRef, ocNone, ocSpaces, ocTableRefOpen, ocWhitespace, p, formula::FormulaCompiler::pArr, ParseBoolean(), ParseColRowName(), ParseDBRange(), ParseErrorConstant(), ParseExternalNamedRange(), ParseMacro(), ParseNamedRange(), ParseOpCode(), ParseOpCode2(), ParsePredetectedReference(), ParseReference(), ParseString(), ParseTableRefColumn(), ParseTableRefItem(), ParseValue(), pCharClass, rDoc, ScRawToken::sbyte, SetError(), ScRawToken::SetOpCode(), ScRawToken::SetString(), ToUpperAsciiOrI18nIsAscii(), CharClass::uppercase(), and ScRawToken::whitespace.

Referenced by CompileString().

◆ NextSymbol()

std::vector< ScCompiler::Whitespace > ScCompiler::NextSymbol ( bool  bInArray)
private

◆ ParameterMayBeImplicitIntersection()

bool ScCompiler::ParameterMayBeImplicitIntersection ( const formula::FormulaToken token,
int  parameter 
)
staticprivate

Definition at line 6101 of file compiler.cxx.

References Array, ScParameterClassification::GetParameterType(), and Value.

Referenced by HandleIIOpCodeInternal().

◆ ParseBoolean()

bool ScCompiler::ParseBoolean ( const OUString &  rName)
private

◆ ParseColRowName()

bool ScCompiler::ParseColRowName ( const OUString &  rName)
private

◆ ParseDBRange()

bool ScCompiler::ParseDBRange ( const OUString &  rName)
private

◆ ParseDoubleReference()

bool ScCompiler::ParseDoubleReference ( const OUString &  rSymbol,
const OUString *  pErrRef = nullptr 
)
private

◆ ParseErrorConstant()

bool ScCompiler::ParseErrorConstant ( const OUString &  rName)

◆ ParseExternalNamedRange()

bool ScCompiler::ParseExternalNamedRange ( const OUString &  rSymbol,
bool &  rbInvalidExternalNameRange 
)
private

◆ ParseMacro()

bool ScCompiler::ParseMacro ( const OUString &  rName)
private

◆ ParseNamedRange()

bool ScCompiler::ParseNamedRange ( const OUString &  rUpperName,
bool  onlyCheck = false 
)
private

◆ ParseOpCode()

bool ScCompiler::ParseOpCode ( const OUString &  rName,
bool  bInArray 
)
private

◆ ParseOpCode2()

bool ScCompiler::ParseOpCode2 ( std::u16string_view  rName)
private

◆ ParsePredetectedErrRefReference()

bool ScCompiler::ParsePredetectedErrRefReference ( const OUString &  rName,
const OUString *  pErrRef 
)
private

◆ ParsePredetectedReference()

bool ScCompiler::ParsePredetectedReference ( const OUString &  rSymbol)
private

◆ ParseReference()

bool ScCompiler::ParseReference ( const OUString &  rSymbol,
const OUString *  pErrRef = nullptr 
)
private

◆ ParseSingleReference()

bool ScCompiler::ParseSingleReference ( const OUString &  rSymbol,
const OUString *  pErrRef = nullptr 
)
private

◆ ParseString()

bool ScCompiler::ParseString ( )
private

◆ ParseTableRefColumn()

bool ScCompiler::ParseTableRefColumn ( const OUString &  rName)

◆ ParseTableRefItem()

bool ScCompiler::ParseTableRefItem ( const OUString &  rName)

◆ ParseValue()

bool ScCompiler::ParseValue ( const OUString &  rSym)
private

◆ PostProcessCode()

void ScCompiler::PostProcessCode ( )
overrideprivatevirtual

◆ ReplaceDoubleRefII()

void ScCompiler::ReplaceDoubleRefII ( formula::FormulaToken **  ppDoubleRefTok)
private

◆ SetAutoCorrection()

void ScCompiler::SetAutoCorrection ( bool  bVal)

When auto correction is set, the jump command reorder must be enabled.

Definition at line 4147 of file compiler.cxx.

References formula::FormulaCompiler::bAutoCorrect, formula::FormulaCompiler::mbJumpCommandReorder, and formula::FormulaCompiler::mbStopOnError.

Referenced by ScViewFunc::EnterData().

◆ SetCloseBrackets()

void ScCompiler::SetCloseBrackets ( bool  bVal)
inline

Definition at line 433 of file compiler.hxx.

Referenced by ScTabViewShell::IsRefInputMode().

◆ SetError()

void ScCompiler::SetError ( FormulaError  nError)
overrideprivatevirtual

◆ SetExtendedErrorDetection()

void ScCompiler::SetExtendedErrorDetection ( ExtendedErrorDetection  eVal)
inline

Definition at line 477 of file compiler.hxx.

Referenced by ScRangeData::CompileRangeData(), ScViewFunc::EnterData(), and IMPL_LINK().

◆ SetExternalLinks()

void ScCompiler::SetExternalLinks ( const css::uno::Sequence< css::sheet::ExternalLinkInfo > &  rLinks)
inline

Set external link info for ScAddress::CONV_XL_OOX.

Definition at line 468 of file compiler.hxx.

Referenced by oox::xls::DefinedName::getScTokens(), oox::xls::ExternalName::importDefinedName(), and ScFormulaParserObj::SetCompilerFlags().

◆ SetFormulaLanguage()

void ScCompiler::SetFormulaLanguage ( const OpCodeMapPtr xMap)

◆ SetGrammar()

void ScCompiler::SetGrammar ( const formula::FormulaGrammar::Grammar  eGrammar)

◆ SetGrammarAndRefConvention()

void ScCompiler::SetGrammarAndRefConvention ( const formula::FormulaGrammar::Grammar  eNewGrammar,
const formula::FormulaGrammar::Grammar  eOldGrammar 
)
private

Set grammar and reference convention from within SetFormulaLanguage() or SetGrammar().

Parameters
eNewGrammarThe new grammar to be set and the associated reference convention.
eOldGrammarThe previous grammar that was active before SetFormulaLanguage().

Definition at line 339 of file compiler.cxx.

References ScDocument::GetAddressConvention(), formula::FormulaCompiler::meGrammar, rDoc, and SetRefConvention().

Referenced by SetFormulaLanguage(), and SetGrammar().

◆ SetNumberFormatter()

void ScCompiler::SetNumberFormatter ( SvNumberFormatter pFormatter)

Definition at line 311 of file compiler.cxx.

References mpFormatter.

◆ SetRefConvention() [1/2]

void ScCompiler::SetRefConvention ( const Convention pConvP)

◆ SetRefConvention() [2/2]

void ScCompiler::SetRefConvention ( const formula::FormulaGrammar::AddressConvention  eConv)

Definition at line 2004 of file compiler.cxx.

References GetRefConvention(), p, and SetRefConvention().

◆ SetRefConventionChartOOXML()

void ScCompiler::SetRefConventionChartOOXML ( bool  bVal)
inline

Definition at line 434 of file compiler.hxx.

Referenced by ScFormulaParserObj::SetCompilerFlags().

◆ SetRelNameReference()

void ScCompiler::SetRelNameReference ( )
private

◆ SkipImplicitIntersectionOptimization()

bool ScCompiler::SkipImplicitIntersectionOptimization ( const formula::FormulaToken token) const
private

◆ ToUpperAsciiOrI18nIsAscii()

bool ScCompiler::ToUpperAsciiOrI18nIsAscii ( OUString &  rUpper,
const OUString &  rOrg 
) const
private

Definition at line 4340 of file compiler.cxx.

References formula::FormulaCompiler::meGrammar, pCharClass, and CharClass::uppercase().

Referenced by NextNewToken().

◆ UnhandledPossibleImplicitIntersectionsOpCodes()

const std::set< OpCode > & ScCompiler::UnhandledPossibleImplicitIntersectionsOpCodes ( )
inline

Definition at line 510 of file compiler.hxx.

Referenced by ScFormulaCell::InterpretFormulaGroupOpenCL().

Friends And Related Function Documentation

◆ Convention

friend struct Convention
friend

Definition at line 257 of file compiler.hxx.

Member Data Documentation

◆ aFormula

OUString ScCompiler::aFormula
private

Definition at line 287 of file compiler.hxx.

Referenced by CompileString(), NextNewToken(), NextSymbol(), and ParseValue().

◆ aPos

ScAddress ScCompiler::aPos
private

◆ cSymbol

sal_Unicode ScCompiler::cSymbol[MAXSTRLEN+1]
private

Definition at line 286 of file compiler.hxx.

Referenced by NextNewToken(), NextSymbol(), ParseOpCode(), ParseReference(), and ParseString().

◆ g_aAddInMap

const ScCompiler::AddInMap ScCompiler::g_aAddInMap
staticprivate

Definition at line 24 of file odffmap.cxx.

Referenced by fillFromAddInMap(), and GetAddInMapCount().

◆ maExternalFiles

std::vector<sal_uInt16> ScCompiler::maExternalFiles
private

◆ maExternalLinks

css::uno::Sequence<css::sheet::ExternalLinkInfo> ScCompiler::maExternalLinks
private

◆ maPendingOpCodes

std::queue<OpCode> ScCompiler::maPendingOpCodes
private

Definition at line 291 of file compiler.hxx.

Referenced by NextNewToken(), and ParseValue().

◆ maRawToken

ScRawToken ScCompiler::maRawToken
private

◆ maTableRefs

std::vector<TableRefEntry> ScCompiler::maTableRefs
private

◆ maTabNames

std::vector<OUString> ScCompiler::maTabNames
private

Definition at line 305 of file compiler.hxx.

Referenced by GetSetupTabNames().

◆ mbCharClassesDiffer

bool ScCompiler::mbCharClassesDiffer
private

Definition at line 294 of file compiler.hxx.

Referenced by NextNewToken(), and SetFormulaLanguage().

◆ mbCloseBrackets

bool ScCompiler::mbCloseBrackets
private

Definition at line 299 of file compiler.hxx.

Referenced by CompileString().

◆ mbRefConventionChartOOXML

bool ScCompiler::mbRefConventionChartOOXML
private

Definition at line 301 of file compiler.hxx.

Referenced by CreateStringFromIndex().

◆ mbRewind

bool ScCompiler::mbRewind
private

Definition at line 300 of file compiler.hxx.

Referenced by NextNewToken(), and ParseReference().

◆ meExtendedErrorDetection

ExtendedErrorDetection ScCompiler::meExtendedErrorDetection
private

Definition at line 298 of file compiler.hxx.

Referenced by NextNewToken().

◆ mnCurrentSheetEndPos

sal_Int32 ScCompiler::mnCurrentSheetEndPos
private

Definition at line 281 of file compiler.hxx.

Referenced by ParseNamedRange(), ParseReference(), and ParseSingleReference().

◆ mnCurrentSheetTab

SCTAB ScCompiler::mnCurrentSheetTab
private

Definition at line 280 of file compiler.hxx.

Referenced by ParseNamedRange(), ParseReference(), and ParseSingleReference().

◆ mnPredetectedReference

sal_uInt16 ScCompiler::mnPredetectedReference
private

◆ mnRangeOpPosInSymbol

sal_Int32 ScCompiler::mnRangeOpPosInSymbol
private

Definition at line 296 of file compiler.hxx.

Referenced by NextSymbol(), and ParseReference().

◆ mPendingImplicitIntersectionOptimizations

std::vector< PendingImplicitIntersectionOptimization > ScCompiler::mPendingImplicitIntersectionOptimizations
private

Definition at line 326 of file compiler.hxx.

Referenced by HandleIIOpCodeInternal(), and PostProcessCode().

◆ mpFormatter

SvNumberFormatter* ScCompiler::mpFormatter
private

Definition at line 277 of file compiler.hxx.

Referenced by ParseValue(), and SetNumberFormatter().

◆ mpInterpreterContext

const ScInterpreterContext* ScCompiler::mpInterpreterContext
private

Definition at line 278 of file compiler.hxx.

Referenced by CreateStringFromSingleRef().

◆ mUnhandledPossibleImplicitIntersections

std::unordered_set<formula::FormulaTokenRef> ScCompiler::mUnhandledPossibleImplicitIntersections
private

Definition at line 327 of file compiler.hxx.

Referenced by HandleIIOpCodeInternal().

◆ mUnhandledPossibleImplicitIntersectionsOpCodes

std::set<OpCode> ScCompiler::mUnhandledPossibleImplicitIntersectionsOpCodes
private

Definition at line 329 of file compiler.hxx.

Referenced by HandleIIOpCode().

◆ nSrcPos

sal_Int32 ScCompiler::nSrcPos
private

◆ pCharClass

const CharClass* ScCompiler::pCharClass
private

◆ pCharClassEnglish

const CharClass * ScCompiler::pCharClassEnglish = nullptr
staticprivate

Definition at line 261 of file compiler.hxx.

Referenced by DeInit(), and GetCharClassEnglish().

◆ pCharClassLocalized

const CharClass * ScCompiler::pCharClassLocalized = nullptr
staticprivate

Definition at line 262 of file compiler.hxx.

Referenced by DeInit(), and GetCharClassLocalized().

◆ pConv

const Convention* ScCompiler::pConv
private

◆ pConventions

const ScCompiler::Convention * ScCompiler::pConventions = { nullptr, nullptr, nullptr, nullptr, nullptr, nullptr }
staticprivate

Definition at line 263 of file compiler.hxx.

Referenced by ScCompiler::Convention::Convention(), and IsCharFlagAllConventions().

◆ rDoc

ScDocument& ScCompiler::rDoc
private

The documentation for this class was generated from the following files: