/* * $Id$ * * Copyright (c) 2004-2005 by the TeXlapse Team. * 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 */ package net.sourceforge.texlipse.bibparser; import java.util.ArrayList; import net.sourceforge.texlipse.bibparser.analysis.DepthFirstAdapter; import net.sourceforge.texlipse.bibparser.node.ABibtex; import net.sourceforge.texlipse.bibparser.node.AConcat; import net.sourceforge.texlipse.bibparser.node.AEntryDef; import net.sourceforge.texlipse.bibparser.node.AEntrybraceEntry; import net.sourceforge.texlipse.bibparser.node.AEntryparenEntry; import net.sourceforge.texlipse.bibparser.node.AIdValOrSid; import net.sourceforge.texlipse.bibparser.node.AKeyvalDecl; import net.sourceforge.texlipse.bibparser.node.ANumValOrSid; import net.sourceforge.texlipse.bibparser.node.AStrbraceStringEntry; import net.sourceforge.texlipse.bibparser.node.AStrparenStringEntry; import net.sourceforge.texlipse.bibparser.node.AValueBValOrSid; import net.sourceforge.texlipse.bibparser.node.AValueQValOrSid; import net.sourceforge.texlipse.model.ReferenceEntry; /** * Retrieves the BibTeX abbreviations (defined with @string{...}) from the AST. * * This class is a visitor, that is applied on the AST that is a result of parsing a * BibTeX-file. See <a href="http://www.sablecc.org">http://www.sablecc.org</a> for * more information on the structure of the AST and the visitors. * * @author Oskar Ojala */ public final class AbbrevRetriever extends DepthFirstAdapter { private ArrayList abbrevs = new ArrayList(); //type: ReferenceEntry /** * @return The abbreviations as a list of <code>ReferenceEntry</code>s */ public ArrayList getAbbrevs() { return abbrevs; } public void inABibtex(ABibtex node) { } public void outABibtex(ABibtex node) { } public void inAStrbraceStringEntry(AStrbraceStringEntry node) { abbrevs.add(new ReferenceEntry(node.getIdentifier().getText(), node.getStringLiteral().getText())); } public void outAStrbraceStringEntry(AStrbraceStringEntry node) { } public void inAStrparenStringEntry(AStrparenStringEntry node) { abbrevs.add(new ReferenceEntry(node.getIdentifier().getText(), node.getStringLiteral().getText())); } public void outAStrparenStringEntry(AStrparenStringEntry node) { } public void inAEntrybraceEntry(AEntrybraceEntry node) { } public void outAEntrybraceEntry(AEntrybraceEntry node) { } public void inAEntryparenEntry(AEntryparenEntry node) { } public void outAEntryparenEntry(AEntryparenEntry node) { } public void inAEntryDef(AEntryDef node) { } public void outAEntryDef(AEntryDef node) { } public void inAKeyvalDecl(AKeyvalDecl node) { } public void outAKeyvalDecl(AKeyvalDecl node) { } public void inAConcat(AConcat node) { } public void outAConcat(AConcat node) { } public void inAValueBValOrSid(AValueBValOrSid node) { } public void inAValueQValOrSid(AValueQValOrSid node) { } public void outAValueBValOrSid(AValueBValOrSid node) { } public void outAValueQValOrSid(AValueQValOrSid node) { } public void inANumValOrSid(ANumValOrSid node) { } public void outANumValOrSid(ANumValOrSid node) { } public void inAIdValOrSid(AIdValOrSid node) { } public void outAIdValOrSid(AIdValOrSid node) { } }