titus.pfaast.Cell

class titus.pfaast.Cell(avroPlaceholder, init, shared, rollback, source, pos=None)[source]

Bases: titus.pfaast.Ast

Abstract syntax tree for a cell definition.

class Context

Bases: titus.pfaast.AstContext

__init__()
Cell.__init__(avroPlaceholder, init, shared, rollback, source, pos=None)
Cell.avroType
Cell.equals(other)
Cell.initJsonNode
Cell.jsonNode(lineNumbers, memo)

Convert this abstract syntax tree to Pythonized JSON.

Parameters:
  • lineNumbers (bool) – if True, include locator marks in each JSON object
  • memo (set of string) – used to avoid recursion; provide an empty set if unsure
Return type:

Pythonized JSON

Returns:

JSON representation

Cell.walk(task, symbolTable, functionTable, engineOptions, version)

Walk over tree applying a titus.pfaast.Task while checking for semantic errors.

This is how Python is generated from an abstract syntax tree: the titus.pfaast.Task in that case is titus.genpy.GeneratePython.

Parameters:
Return type:

(titus.pfaast.AstContext, titus.pfaast.TaskResult)

Returns:

(information about this abstract syntax tree node after type-checking, result of the generic task)