Multimag  0.2.992
Открытые члены | Поля данных
Класс Parser
Граф наследования:Parser:

Открытые члены

 __construct ($byte_order, $biff_version)
 
 _initializeHashes ()
 
 _convert ($token)
 
 _convertNumber ($num)
 
 _convertString ($string)
 
 _convertFunction ($token, $num_args)
 
 _convertRange2d ($range, $class=0)
 
 _convertRange3d ($token)
 
 _convertRef2d ($cell)
 
 _convertRef3d ($cell)
 
 _packExtRef ($ext_ref)
 
 _getRefIndex ($ext_ref)
 
 _getSheetIndex ($sheet_name)
 
 setExtSheet ($name, $index)
 
 _cellToPackedRowcol ($cell)
 
 _rangeToPackedRange ($range)
 
 _cellToRowcol ($cell)
 
 _advance ()
 
 _match ($token)
 
 parse ($formula)
 
 _condition ()
 
 _expression ()
 
 _parenthesizedExpression ()
 
 _term ()
 
 _fact ()
 
 _func ()
 
 _createTree ($value, $left, $right)
 
 toReversePolish ($tree=array())
 

Поля данных

 $_current_char
 
 $_current_token
 
 $_formula
 
 $_lookahead
 
 $_parse_tree
 
 $_byte_order
 
 $_ext_sheets
 
 $_references
 
 $_BIFF_version
 

Подробное описание

См. определение в файле parser.php строка 113

Конструктор(ы)

__construct (   $byte_order,
  $biff_version 
)

The class constructor

Аргументы
integer$byte_orderThe byte order (Little endian or Big endian) of the architecture (optional). 1 => big endian, 0 (default) little endian.

См. определение в файле parser.php строка 175

Методы

_advance ( )

Advance to the next valid token.

private

См. определение в файле parser.php строка 1111

_cellToPackedRowcol (   $cell)

pack() row and column into the required 3 or 4 byte format.

private

Аргументы
string$cellThe Excel cell reference to be packed
Возвращает
array Array containing the row and column in packed() format

См. определение в файле parser.php строка 999

_cellToRowcol (   $cell)

Convert an Excel cell reference such as A1 or $B2 or C$3 or $D$4 to a zero indexed row and column number. Also returns two (0,1) values to indicate whether the row or column are relative references.

private

Аргументы
string$cellThe Excel cell reference in A1 format.
Возвращает
array

См. определение в файле parser.php строка 1081

_condition ( )

It parses a condition. It assumes the following rule: Cond -> Expr [(">" | "<") Expr]

private

Возвращает
mixed The parsed ptg'd tree on success, PEAR_Error on failure

См. определение в файле parser.php строка 1312

_convert (   $token)

Convert a token to the proper ptg value.

private

Аргументы
mixed$tokenThe token to convert.
Возвращает
mixed the converted token on success. PEAR_Error if the token is not recognized

См. определение в файле parser.php строка 546

_convertFunction (   $token,
  $num_args 
)

Convert a function to a ptgFunc or ptgFuncVarV depending on the number of args that it takes.

private

Аргументы
string$tokenThe name of the function for convertion to ptg value.
integer$num_argsThe number of arguments the function receives.
Возвращает
string The packed ptg for the function

См. определение в файле parser.php строка 652

_convertNumber (   $num)

Convert a number token to ptgInt or ptgNum

private

Аргументы
mixed$numan integer or double for conversion to its ptg value

См. определение в файле parser.php строка 606

_convertRange2d (   $range,
  $class = 0 
)

Convert an Excel range such as A1:D4 to a ptgRefV.

private

Аргументы
string$rangeAn Excel range in the A1:A2 or A1..A2 format.

См. определение в файле parser.php строка 673

_convertRange3d (   $token)

Convert an Excel 3d range such as "Sheet1!A1:D4" or "Sheet1:Sheet2!A1:D4" to a ptgArea3d.

private

Аргументы
string$tokenAn Excel range in the Sheet1!A1:A2 format.
Возвращает
mixed The packed ptgArea3d token on success, PEAR_Error on failure.

См. определение в файле parser.php строка 722

_convertRef2d (   $cell)

Convert an Excel reference such as A1, $B2, C$3 or $D$4 to a ptgRefV.

private

Аргументы
string$cellAn Excel cell reference
Возвращает
string The cell in packed() format with the corresponding ptg

См. определение в файле parser.php строка 786

_convertRef3d (   $cell)

Convert an Excel 3d reference such as "Sheet1!A1" or "Sheet1:Sheet2!A1" to a ptgRef3d.

private

Аргументы
string$cellAn Excel cell reference
Возвращает
mixed The packed ptgRef3d token on success, PEAR_Error on failure.

См. определение в файле parser.php строка 819

_convertString (   $string)

Convert a string token to ptgStr

private

Аргументы
string$stringA string for conversion to its ptg value.
Возвращает
mixed the converted token on success. PEAR_Error if the string is longer than 255 characters.

См. определение в файле parser.php строка 627

_createTree (   $value,
  $left,
  $right 
)

Creates a tree. In fact an array which may have one or two arrays (sub-trees) as elements.

private

Аргументы
mixed$valueThe value of this node.
mixed$leftThe left array (sub-tree) or a final node.
mixed$rightThe right array (sub-tree) or a final node.
Возвращает
array A tree

См. определение в файле parser.php строка 1614

_expression ( )

It parses a expression. It assumes the following rule: Expr -> Term [("+" | "-") Term] -> "string" -> "-" Term

private

Возвращает
mixed The parsed ptg'd tree on success, PEAR_Error on failure

См. определение в файле parser.php строка 1380

_fact ( )

It parses a factor. It assumes the following rule: Fact -> ( Expr ) | CellRef | CellRange | Number | Function

private

Возвращает
mixed The parsed ptg'd tree on success, PEAR_Error on failure

См. определение в файле parser.php строка 1480

_func ( )

It parses a function call. It assumes the following rule: Func -> ( Expr [,Expr]* )

private

Возвращает
mixed The parsed ptg'd tree on success, PEAR_Error on failure

См. определение в файле parser.php строка 1558

_getRefIndex (   $ext_ref)

Look up the REF index that corresponds to an external sheet name (or range). If it doesn't exist yet add it to the workbook's references array. It assumes all sheet names given must exist.

private

Аргументы
string$ext_refThe name of the external reference
Возвращает
mixed The reference index in packed() format on success, PEAR_Error on failure

См. определение в файле parser.php строка 910

_getSheetIndex (   $sheet_name)

Look up the index that corresponds to an external sheet name. The hash of sheet names is updated by the addworksheet() method of the Spreadsheet_Excel_Writer_Workbook class.

private

Возвращает
integer The sheet index, -1 if the sheet was not found

См. определение в файле parser.php строка 968

_initializeHashes ( )

Initialize the ptg and function hashes.

private

См. определение в файле parser.php строка 194

_match (   $token)

Checks if it's a valid token.

private

Аргументы
mixed$tokenThe token to check.
Возвращает
mixed The checked token or false on failure

См. определение в файле parser.php строка 1161

_packExtRef (   $ext_ref)

Convert the sheet name part of an external reference, for example "Sheet1" or "Sheet1:Sheet2", to a packed structure.

private

Аргументы
string$ext_refThe name of the external reference
Возвращает
string The reference index in packed() format

См. определение в файле parser.php строка 864

_parenthesizedExpression ( )

This function just introduces a ptgParen element in the tree, so that Excel doesn't get confused when working with a parenthesized formula afterwards.

private

См. также
_fact()
Возвращает
array The parsed ptg'd tree

См. определение в файле parser.php строка 1428

_rangeToPackedRange (   $range)

pack() row range into the required 3 or 4 byte format. Just using maximum col/rows, which is probably not the correct solution

private

Аргументы
string$rangeThe Excel range to be packed
Возвращает
array Array containing (row1,col1,row2,col2) in packed() format

См. определение в файле parser.php строка 1034

_term ( )

It parses a term. It assumes the following rule: Term -> Fact [("*" | "/") Fact]

private

Возвращает
mixed The parsed ptg'd tree on success, PEAR_Error on failure

См. определение в файле parser.php строка 1441

parse (   $formula)

The parsing method. It parses a formula.

public

Аргументы
string$formulaThe formula to parse, without the initial equal sign (=).
Возвращает
mixed true on success, PEAR_Error on failure

См. определение в файле parser.php строка 1292

setExtSheet (   $name,
  $index 
)

This method is used to update the array of sheet names. It is called by the addWorksheet() method of the Spreadsheet_Excel_Writer_Workbook class.

public

См. также
Spreadsheet_Excel_Writer_Workbook::addWorksheet()
Аргументы
string$nameThe name of the worksheet being added
integer$indexThe index of the worksheet being added

См. определение в файле parser.php строка 987

toReversePolish (   $tree = array())

Builds a string containing the tree in reverse polish notation (What you would use in a HP calculator stack). 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

public

Аргументы
array$treeThe optional tree to convert.
Возвращает
string The tree in reverse polish notation

См. определение в файле parser.php строка 1646

Поля

$_BIFF_version

См. определение в файле parser.php строка 167

$_byte_order

См. определение в файле parser.php строка 149

$_current_char

См. определение в файле parser.php строка 119

$_current_token

См. определение в файле parser.php строка 125

$_ext_sheets

См. определение в файле parser.php строка 155

$_formula

См. определение в файле parser.php строка 131

$_lookahead

См. определение в файле parser.php строка 137

$_parse_tree

См. определение в файле parser.php строка 143

$_references

См. определение в файле parser.php строка 161


Объявления и описания членов класса находятся в файле: