class Sequitur::Formatter::BaseFormatter
Superclass for grammar formatters.
Attributes
output[RW]
The IO output stream in which the formatter’s result will be sent.
Public Class Methods
new(anIO)
click to toggle source
Constructor. @param anIO [IO] an output IO where the formatter’s result will be placed.
# File lib/sequitur/formatter/base_formatter.rb, line 14 def initialize(anIO) @output = anIO end
Public Instance Methods
render(aGrmOrVisitor)
click to toggle source
Given a grammar or a grammar visitor, perform the visit and render the visit events in the output stream. @param aGrmOrVisitor [DynamicGrammar, GrammarVisitor]
# 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