Building Parsers with Java

sjm.examples.pretty
Class PrettyVisitor

java.lang.Object
  |
  +--sjm.parse.ParserVisitor
        |
        +--sjm.examples.pretty.PrettyVisitor

public class PrettyVisitor
extends ParserVisitor

An object of this class visits the parsers in a parser composite and sets each subparser's assembler to be one of the "pretty" assemblers in this package. These assemblers build a tree of nodes from the ComponentNode hierarchy that is also in this package. The resulting tree effectively records the order in which the parse proceeds.


Constructor Summary
PrettyVisitor()
           
 
Method Summary
 void visitAlternation(Alternation a, java.util.Vector visited)
          Set an Alternation parser's assembler to be a PrettyAlternationAssembler object and visit this parser's children.
 void visitEmpty(Empty e, java.util.Vector visited)
          Set an Empty parser's assembler to be a PrettyEmptyAssembler object.
 void visitRepetition(Repetition r, java.util.Vector visited)
          Set a Repetition parser's pre-assembler to push a "fence", and set the parser's post-assembler to be a PrettyRepetitionAssembler object.
 void visitSequence(Sequence s, java.util.Vector visited)
          Set a Sequence parser's assembler to be a PrettySequenceAssembler object and visit the parser's children.
 void visitTerminal(Terminal t, java.util.Vector visited)
          Set a Terminal object's assembler to be a PrettyTerminalAssembler object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

PrettyVisitor

public PrettyVisitor()
Method Detail

visitAlternation

public void visitAlternation(Alternation a,
                             java.util.Vector visited)
Set an Alternation parser's assembler to be a PrettyAlternationAssembler object and visit this parser's children.
Overrides:
visitAlternation in class ParserVisitor
Tags copied from class: ParserVisitor
Parameters:
Alternation - the parser to visit
Vector - a collection of previously visited parsers

visitEmpty

public void visitEmpty(Empty e,
                       java.util.Vector visited)
Set an Empty parser's assembler to be a PrettyEmptyAssembler object.
Overrides:
visitEmpty in class ParserVisitor
Tags copied from class: ParserVisitor
Parameters:
Empty - the parser to visit
Vector - a collection of previously visited parsers

visitRepetition

public void visitRepetition(Repetition r,
                            java.util.Vector visited)
Set a Repetition parser's pre-assembler to push a "fence", and set the parser's post-assembler to be a PrettyRepetitionAssembler object. The latter assembler will pop results down to the fence. Also visit the repetition parser's subparser.
Overrides:
visitRepetition in class ParserVisitor
Tags copied from class: ParserVisitor
Parameters:
Repetition - the parser to visit
Vector - a collection of previously visited parsers

visitSequence

public void visitSequence(Sequence s,
                          java.util.Vector visited)
Set a Sequence parser's assembler to be a PrettySequenceAssembler object and visit the parser's children.
Overrides:
visitSequence in class ParserVisitor
Tags copied from class: ParserVisitor
Parameters:
Sequence - the parser to visit
Vector - a collection of previously visited parsers

visitTerminal

public void visitTerminal(Terminal t,
                          java.util.Vector visited)
Set a Terminal object's assembler to be a PrettyTerminalAssembler object.
Overrides:
visitTerminal in class ParserVisitor
Tags copied from class: ParserVisitor
Parameters:
Terminal - the parser to visit
Vector - a collection of previously visited parsers

by Steve Metsker