Module walking
Visitor for walking terms
- final class lambda_calculus.visitors.walking.DepthFirstVisitor[source]
Bases:
BottomUpVisitor[Iterator[terms.Term[V]],V]Visitor yielding subterms depth first
Type Variables:
V: represents the type of variables used in terms
- visit_variable(variable: Variable[V]) Iterator[Term[V]][source]
Visit a Variable term.
- Parameters
variable – variable term to visit
- Returns
Iterator yielding the term
- ascend_abstraction(abstraction: Abstraction[V], body: Iterator[Term[V]]) Iterator[Term[V]][source]
Visit an Abstraction term after visiting its body.
- Parameters
abstraction – abstraction term to visit
body – Iterator produced by visiting its body
- Returns
term appended to its body Iterator
- ascend_application(application: Application[V], abstraction: Iterator[Term[V]], argument: Iterator[Term[V]]) Iterator[Term[V]][source]
Visit an Application term after visiting its abstraction and argument.
- Parameters
application – application term to visit
abstraction – Iterator produced by visiting its abstraction
argument – Iterator produced by visiting its argument
- Returns
term appended to its abstraction and argument Iterators