/*******************************************************************************
* Copyright (c) 2008 Scott Stanchfield.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* Based on the ANTLR parser generator by Terence Parr, http://antlr.org
* Ric Klaren <klaren@cs.utwente.nl>
* Scott Stanchfield - Modifications for XML Parsing
*******************************************************************************/
package com.javadude.antxr;
/** A TreeElement is a block with one alternative and a root node */
class TreeElement extends AlternativeBlock {
GrammarAtom root;
public TreeElement(Grammar g, Token start) {
super(g, start, false);
}
@Override
public void generate() {
grammar.generator.gen(this);
}
@Override
public Lookahead look(int k) {
return grammar.theLLkAnalyzer.look(k, this);
}
@Override
public String toString() {
String s = " #(" + root;
Alternative a = alternatives.get(0);
AlternativeElement p = a.head;
while (p != null) {
s += p;
p = p.next;
}
return s + " )";
}
}