Parser
    
            
            in package
            
        
    
    
    
Table of Contents
Constants
- REGEX_CELL_TITLE_QUOTED = "~^'" . self::REGEX_SHEET_TITLE_QUOTED . '(:' . self::REGEX_SHEET_TITLE_QUOTED . ')?' . "'!(*COMMIT)" . '[$]?[A-Ia-i]?[A-Za-z][$]?(\d+)' . '$~u'
- REGEX_RANGE_TITLE_QUOTED = "~^'" . self::REGEX_SHEET_TITLE_QUOTED . '(:' . self::REGEX_SHEET_TITLE_QUOTED . ')?' . "'!(*COMMIT)" . '[$]?[A-Ia-i]?[A-Za-z][$]?(\d+)' . ':' . '[$]?[A-Ia-i]?[A-Za-z][$]?(\d+)' . '$~u'
- REGEX_SHEET_TITLE_QUOTED = "([^*:/\\\\?\\[\\]']|'')+"
- REGEX_SHEET_TITLE_UNQUOTED = '[^\*\:\/\\\\\\?\[\]\+\-\% \\\'\^\&\<\>\=\,\;\#\(\)\"\{\}]+'
- Constants
Properties
- $currentCharacter : int
- The index of the character we are currently looking at.
- $currentToken : string
- The token we are working on.
- $lookAhead : string
- The character ahead of the current char.
- $parseTree : array<string|int, mixed>|string
- The parse tree to be generated.
- $references : array<int|string, int|string>
- Array of sheet references in the form of REF structures.
Methods
- __construct() : mixed
- The class constructor.
- matchCellSheetnameQuoted() : bool
- matchRangeSheetnameQuoted() : bool
- parse() : bool
- The parsing method. It parses a formula.
- setExtSheet() : void
- This method is used to update the array of sheet names. It is called by the addWorksheet() method of the \PhpOffice\PhpSpreadsheet\Writer\Xls\Workbook class.
- toReversePolish() : string
- Builds a string containing the tree in reverse polish notation (What you would use in a HP calculator stack).
Constants
REGEX_CELL_TITLE_QUOTED
    public
        mixed
    REGEX_CELL_TITLE_QUOTED
    = "~^'" . self::REGEX_SHEET_TITLE_QUOTED . '(:' . self::REGEX_SHEET_TITLE_QUOTED . ')?' . "'!(*COMMIT)" . '[$]?[A-Ia-i]?[A-Za-z][$]?(\d+)' . '$~u'
    
    
    
    
REGEX_RANGE_TITLE_QUOTED
    public
        mixed
    REGEX_RANGE_TITLE_QUOTED
    = "~^'" . self::REGEX_SHEET_TITLE_QUOTED . '(:' . self::REGEX_SHEET_TITLE_QUOTED . ')?' . "'!(*COMMIT)" . '[$]?[A-Ia-i]?[A-Za-z][$]?(\d+)' . ':' . '[$]?[A-Ia-i]?[A-Za-z][$]?(\d+)' . '$~u'
    
    
    
    
REGEX_SHEET_TITLE_QUOTED
    public
        mixed
    REGEX_SHEET_TITLE_QUOTED
    = "([^*:/\\\\?\\[\\]']|'')+"
    
    
    
    
REGEX_SHEET_TITLE_UNQUOTED
Constants
    public
        mixed
    REGEX_SHEET_TITLE_UNQUOTED
    = '[^\*\:\/\\\\\\?\[\]\+\-\% \\\'\^\&\<\>\=\,\;\#\(\)\"\{\}]+'
    
    
    
    
Properties
$currentCharacter
The index of the character we are currently looking at.
        public
            int
    $currentCharacter
    
    
    
    
    
    
$currentToken
The token we are working on.
        public
            string
    $currentToken
    
    
    
    
    
    
$lookAhead
The character ahead of the current char.
        public
            string
    $lookAhead
    
    
    
    
    
    
$parseTree
The parse tree to be generated.
        public
            array<string|int, mixed>|string
    $parseTree
    
    
    
    
    
    
$references
Array of sheet references in the form of REF structures.
        public
            array<int|string, int|string>
    $references
    
    
    
    
    
    
Methods
__construct()
The class constructor.
    public
                    __construct(Spreadsheet $spreadsheet) : mixed
    Parameters
- $spreadsheet : Spreadsheet
matchCellSheetnameQuoted()
    public
            static        matchCellSheetnameQuoted(string $token) : bool
    Parameters
- $token : string
Return values
boolmatchRangeSheetnameQuoted()
    public
            static        matchRangeSheetnameQuoted(string $token) : bool
    Parameters
- $token : string
Return values
boolparse()
The parsing method. It parses a formula.
    public
                    parse(string $formula) : bool
    Parameters
- $formula : string
- 
                    the formula to parse, without the initial equal sign (=) 
Return values
bool —true on success
setExtSheet()
This method is used to update the array of sheet names. It is called by the addWorksheet() method of the \PhpOffice\PhpSpreadsheet\Writer\Xls\Workbook class.
    public
                    setExtSheet(string $name, int $index) : void
    Parameters
- $name : string
- 
                    The name of the worksheet being added 
- $index : int
- 
                    The index of the worksheet being added 
Tags
toReversePolish()
Builds a string containing the tree in reverse polish notation (What you would use in a HP calculator stack).
    public
                    toReversePolish([array<string|int, mixed> $tree = [] ]) : string
    The following tree:.
/ 
2   3
produces: "23+"
The following tree:
/ 
3   *
/ 
6   A1
produces: "36A1*+"
In fact all operands, functions, references, etc... are written as ptg's
Parameters
- $tree : array<string|int, mixed> = []
- 
                    the optional tree to convert 
Return values
string —The tree in reverse polish notation