001    /*
002    // $Id: NodeType.java 3 2009-05-11 08:11:57Z jhyde $
003    // Clapham generates railroad diagrams to represent computer language grammars.
004    // Copyright (C) 2008-2009 Julian Hyde
005    //
006    // This program is free software; you can redistribute it and/or modify it
007    // under the terms of the GNU General Public License as published by the Free
008    // Software Foundation; either version 2 of the License, or (at your option)
009    // any later version approved by The Eigenbase Project.
010    //
011    // This program is distributed in the hope that it will be useful,
012    // but WITHOUT ANY WARRANTY; without even the implied warranty of
013    // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
014    // GNU General Public License for more details.
015    //
016    // You should have received a copy of the GNU General Public License
017    // along with this program; if not, write to the Free Software
018    // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
019    */
020    package net.hydromatic.clapham.graph;
021    
022    /**
023     * Constants for node kinds.
024     *
025     * @author jhyde
026     * @version $Id: NodeType.java 3 2009-05-11 08:11:57Z jhyde $
027     * @since Aug 26, 2008
028    */
029    public enum NodeType {
030        TERM,  // terminal symbol
031        NONTERM,  // nonterminal symbol
032        EPS,  // empty
033        ALT,  // alternative: |
034        ITER,  // iteration: { }
035        OPT,  // option: [ ]
036        RERUN,  // the optimization of: a {a} or a {b a}
037        WRAP  // forces line break if found in the outer structure
038    }
039    
040    // End NodeType.java