001         package com.croftsoft.apps.compiler.mini.node;
002    
003         import java.util.*;
004    
005         /*********************************************************************
006         * Parse tree node for the Mini programming language.
007         *
008         * @see
009         *   MiniNode
010         *
011         * @author
012         *   <A HREF="http://www.alumni.caltech.edu/~croft/">David W. Croft</A>
013         * @version
014         *   1999-04-25
015         *********************************************************************/
016    
017         public class  InputStatementMiniNode extends AbstractMiniNode
018           implements StatementMiniNode
019         //////////////////////////////////////////////////////////////////////
020         //////////////////////////////////////////////////////////////////////
021         {
022    
023         protected NameSequenceMiniNode  nameSequenceMiniNode;
024    
025         //////////////////////////////////////////////////////////////////////
026         //////////////////////////////////////////////////////////////////////
027    
028         public  InputStatementMiniNode (
029           NameSequenceMiniNode  nameSequenceMiniNode )
030         //////////////////////////////////////////////////////////////////////
031         {
032           this.nameSequenceMiniNode = nameSequenceMiniNode;
033         }
034    
035         //////////////////////////////////////////////////////////////////////
036         //////////////////////////////////////////////////////////////////////
037    
038         public NameSequenceMiniNode  getNameSequenceMiniNode ( )
039         //////////////////////////////////////////////////////////////////////
040         {
041           return nameSequenceMiniNode;
042         }
043    
044         //////////////////////////////////////////////////////////////////////
045         // MiniNode interface methods
046         //////////////////////////////////////////////////////////////////////
047    
048         public void  generate ( MiniNodeCodeVisitor  miniNodeCodeVisitor )
049         //////////////////////////////////////////////////////////////////////
050         {
051           miniNodeCodeVisitor.generateInputStatement ( this );
052         }
053         
054         public void  checkSemantics ( Stack  parentMiniNodeStack )
055           throws SemanticErrorException
056         //////////////////////////////////////////////////////////////////////
057         {
058           parentMiniNodeStack.push ( this );
059    
060           nameSequenceMiniNode.checkSemantics ( parentMiniNodeStack );
061    
062           parentMiniNodeStack.pop ( );
063         }
064    
065         //////////////////////////////////////////////////////////////////////
066         //////////////////////////////////////////////////////////////////////
067         }