|
XLParser
1.7.5
|
This class can do some simple analysis on the trees produced by the parser. More...
Public Member Functions | |
| FormulaAnalyzer (ParseTreeNode root) | |
| Provide formula analysis functions on a tree More... | |
| FormulaAnalyzer (string formula) | |
| Provide formula analysis functions More... | |
| IEnumerable< ParseTreeNode > | References () |
| Get all references that aren't part of another reference expression More... | |
| IEnumerable< string > | Functions () |
| IEnumerable< double > | Numbers () |
| int | Depth () |
| Return the depth of the parse tree, the number of nested Formulas More... | |
| int | OperatorDepth (ISet< string > operators=null) |
| Get function/operator depth More... | |
| int | ConditionalComplexity () |
| Get the conditional complexity of the formula More... | |
| IEnumerable< ParserReference > | ParserReferences () |
| Get all references (to cells or ranges) included in the formula More... | |
Properties | |
| ParseTreeNode | Root [get] |
| List< ParseTreeNode >?? | AllNodes [get] |
| Lazy cached version of all nodes More... | |
This class can do some simple analysis on the trees produced by the parser.
To prevent bloating this class, please make a new (sub)class and file when you want to add a coherent set of other analyses.
| XLParser.FormulaAnalyzer.FormulaAnalyzer | ( | ParseTreeNode | root | ) |
Provide formula analysis functions on a tree
| XLParser.FormulaAnalyzer.FormulaAnalyzer | ( | string | formula | ) |
Provide formula analysis functions
| int XLParser.FormulaAnalyzer.ConditionalComplexity | ( | ) |
Get the conditional complexity of the formula
| int XLParser.FormulaAnalyzer.Depth | ( | ) |
Return the depth of the parse tree, the number of nested Formulas
| int XLParser.FormulaAnalyzer.OperatorDepth | ( | ISet< string > | operators = null | ) |
Get function/operator depth
| operators | If not null, count only specific functions/operators |
| IEnumerable<ParserReference> XLParser.FormulaAnalyzer.ParserReferences | ( | ) |
Get all references (to cells or ranges) included in the formula
| IEnumerable<ParseTreeNode> XLParser.FormulaAnalyzer.References | ( | ) |
Get all references that aren't part of another reference expression
|
get |
Lazy cached version of all nodes