/* Clock2Xml */
import java.util.ArrayList;
public class _Clock2Xml implements Visitor
{
public void visit(Rule rule)
{
rule.visit(this);
}
public Object visit_Clock(Parser.Clock rule)
{
System.out.println("<Clock>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Clock>");
return Boolean.FALSE;
}
public Object visit_Hours(Parser.Hours rule)
{
System.out.println("<Hours>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Hours>");
return Boolean.FALSE;
}
public Object visit_Minutes(Parser.Minutes rule)
{
System.out.println("<Minutes>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Minutes>");
return Boolean.FALSE;
}
public Object visit_Seconds(Parser.Seconds rule)
{
System.out.println("<Seconds>");
if (visitRules(rule.rules).booleanValue()) System.out.println("");
System.out.println("</Seconds>");
return Boolean.FALSE;
}
public Object visit_Separator(Parser.Separator rule)
{
/* ----------------------- */
/* DON'T OUTPUT SEPARATORS */
/* ----------------------- */
return Boolean.FALSE;
}
public Object visit_StringValue(Parser.StringValue value)
{
System.out.print(value.spelling);
return Boolean.TRUE;
}
public Object visit_NumericValue(Parser.NumericValue value)
{
System.out.print(value.spelling);
return Boolean.TRUE;
}
private Boolean visitRules(ArrayList<Rule> rules)
{
Boolean terminal = Boolean.FALSE;
for (Rule rule : rules)
terminal = (Boolean)rule.visit(this);
return terminal;
}
}
/* eof */