class Sequitur::Formatter::BaseFormatter
Superclass for grammar formatters.
Attributes
The IO output stream in which the formatter’s result will be sent.
Public Class Methods
Source
# File lib/sequitur/formatter/base_formatter.rb, line 14 def initialize(anIO) @output = anIO end
Constructor. @param anIO [IO] an output IO where the formatter’s result will be placed.
Public Instance Methods
Source
# File lib/sequitur/formatter/base_formatter.rb, line 21 def render(aGrmOrVisitor) a_visitor = if aGrmOrVisitor.is_a?(GrammarVisitor) aGrmOrVisitor else aGrmOrVisitor.visitor end a_visitor.subscribe(self) a_visitor.start a_visitor.unsubscribe(self) end
Given a grammar or a grammar visitor, perform the visit and render the visit events in the output stream. @param aGrmOrVisitor [DynamicGrammar, GrammarVisitor]