001 /* 002 // $Id: ProductionNode.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.parser; 021 022 /** 023 * TODO: 024 * 025 * @author jhyde 026 * @version $Id: ProductionNode.java 3 2009-05-11 08:11:57Z jhyde $ 027 * @since Jul 30, 2008 028 */ 029 public class ProductionNode implements EbnfNode { 030 public final IdentifierNode id; 031 public final EbnfNode expression; 032 033 public ProductionNode( 034 IdentifierNode id, 035 EbnfNode expression) 036 { 037 this.id = id; 038 this.expression = expression; 039 } 040 041 public void toString(StringBuilder buf) { 042 id.toString(buf); 043 buf.append(" = "); 044 expression.toString(buf); 045 } 046 } 047 048 // End ProductionNode.java