vimsheet.formula.ast_nodes
AST node dataclasses for the formula parser.
- class vimsheet.formula.ast_nodes.NumberNode(value: 'float')[source]
Bases:
object- Parameters:
value (float)
- class vimsheet.formula.ast_nodes.StringNode(value: 'str')[source]
Bases:
object- Parameters:
value (str)
- class vimsheet.formula.ast_nodes.BoolNode(value: 'bool')[source]
Bases:
object- Parameters:
value (bool)
- class vimsheet.formula.ast_nodes.CellRefNode(ref)[source]
Bases:
objectA single cell reference, e.g. A1 or $B$3.
- Parameters:
ref (str)
- class vimsheet.formula.ast_nodes.RangeRefNode(ref)[source]
Bases:
objectA range reference, e.g. A1:C10.
- Parameters:
ref (str)
- class vimsheet.formula.ast_nodes.SheetCellRefNode(sheet, ref)[source]
Bases:
objectA cross-sheet cell reference, e.g. Sheet1!A1.
- class vimsheet.formula.ast_nodes.SheetRangeRefNode(sheet, ref)[source]
Bases:
objectA cross-sheet range reference, e.g. Sheet1!A1:B2.
- class vimsheet.formula.ast_nodes.ColRangeRefNode(ref)[source]
Bases:
objectA whole-column reference, e.g. A$:B$ or A:B or A$.
- Parameters:
ref (str)
- class vimsheet.formula.ast_nodes.NameNode(name)[source]
Bases:
objectA named range or undefined identifier.
- Parameters:
name (str)
- class vimsheet.formula.ast_nodes.UnaryNode(op: 'str', operand: 'Expr')[source]
Bases:
object- Parameters:
op (str)
operand (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
- operand: NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode
- __init__(op, operand)
- Parameters:
op (str)
operand (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
- Return type:
None
- class vimsheet.formula.ast_nodes.BinaryNode(op: 'str', left: 'Expr', right: 'Expr')[source]
Bases:
object- Parameters:
op (str)
left (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
right (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
- left: NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode
- right: NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode
- __init__(op, left, right)
- Parameters:
op (str)
left (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
right (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
- Return type:
None
- class vimsheet.formula.ast_nodes.PercentNode(operand)[source]
Bases:
objectpostfix % — divide by 100
- Parameters:
operand (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
- operand: NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode
- __init__(operand)
- Parameters:
operand (NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode)
- Return type:
None
- class vimsheet.formula.ast_nodes.FuncCallNode(name: 'str', args: 'list[Expr]' = <factory>)[source]
Bases:
object- Parameters:
name (str)
args (list[NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode])
- args: list[NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode]
- __init__(name, args=<factory>)
- Parameters:
name (str)
args (list[NumberNode | StringNode | BoolNode | CellRefNode | RangeRefNode | ColRangeRefNode | SheetCellRefNode | SheetRangeRefNode | NameNode | UnaryNode | BinaryNode | PercentNode | FuncCallNode])
- Return type:
None