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*/ 020package 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*/ 029public 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