Basillang.BasilASTVisitorclass type basilVisitor = object ... endval singletonVisitAction :
'a Common.Visitor.visitAction ->
'a list Common.Visitor.visitActionclass virtual basilTreeVisitor : basilVisitor -> object ... enda base class for treeVisitors transforming the AST. the method visit_stmts is left abstract for subclasses to implement.
class nopBasilVisitor : basilVisitorclass reverseBasilvisitor : basilVisitor -> object ... endclass forwardBasilvisitor : basilVisitor -> object ... endval visit_block :
basilVisitor ->
BasilAST.BasilAST.block ->
BasilAST.BasilAST.blockval visit_stmt :
basilVisitor ->
BasilAST.BasilAST.statement ->
BasilAST.BasilAST.statementval visit_expr :
basilVisitor ->
BasilAST.BasilAST.expr ->
BasilAST.BasilAST.expr