statementnode.java

来自「是有关解释器的.用JAVA编写.可以解释一般的JAVA程序.」· Java 代码 · 共 57 行

JAVA
57
字号
class StatementNode extends ExecutableNode
{
	ExecutableNode vStatementNode;
	
    static StatementNode parserStatement(Environment env, Scanner s) throws ParserException, ScannerException
    {        
    	ExecutableNode tmpStatementNode;
    	    	
    	if(VariableDefinitionNode.mIsVariableDefinition(s))    
    		tmpStatementNode= VariableDefinitionNode.parserVariableDefinition(env,s); 
    	else
    	if(AssignmentStatementNode.mIsAssignmentStatement(s))    	
    		tmpStatementNode= AssignmentStatementNode.parserAssignmentStatement(env,s);
    	else    	
    	if(IfStatementNode.mIsIfStatement(s))    	
    		tmpStatementNode= IfStatementNode.parserIfStatement(env,s);
    	else
    	if(WhileStatementNode.mIsWhileStatement(s))    	
    		tmpStatementNode= WhileStatementNode.parserWhileStatement(env,s);
    	else
    	if(BlockNode.mIsBlock(s))   
    		tmpStatementNode= BlockNode.parserBlock(env,s);
    	else
    	if(ReturnStatementNode.mIsReturnStatement(s))    	
    		tmpStatementNode= ReturnStatementNode.parserReturnStatement(env,s);
    	else
    	if(EmptyStatementNode.mIsEmptyStatement(s))    	
    		tmpStatementNode= EmptyStatementNode.parserEmptyStatement(env,s);
    	else        	
    		tmpStatementNode= MessageSendStatementNode.parserMessageSendStatement(env,s);    	
        
    	return new StatementNode(tmpStatementNode);
    }
    StatementNode()
	{    	
    	vStatementNode= null;
	}
    StatementNode(ExecutableNode aStatementNode)
	{    
    	vStatementNode= aStatementNode;
	}
    String format(int indent)
	{
		return vStatementNode.format(indent);
	}
	Environment run(Environment env) throws InterpreterException
	{			
		vStatementNode.run(env);
		
		return env;
	}
	boolean typeCheck(Environment env) throws InterpreterException
	{
		return vStatementNode.typeCheck(env);
	}
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?