Erro no Codigo de tradutor portugol

Galera, nao estou conseguindo arrumar o erro.

java.util.NoSuchElementException
at java.util.Scanner.throwFor(Unknow Source)
at java.util.Scanner.next(Unknow Source)
at teste.deploy.main(deploy.java:60)

codigo

 import java.io.*;
    import java.util.*;
    public class Tradutor{
    	public static void main(String[] args) throws IOException{
    	  	String nome=new String();
    	  	Scanner tec=new Scanner(System.in);
    	  	System.out.print("Arquivo:");
    		nome=tec.next();
    		Scanner arq=new Scanner(new BufferedReader(new FileReader(nome+".txt")));
    		String comando=new String();
    		String nomeArq=new String();
    		File saidaJava = new File(comando+".java");
    		FileWriter gravar = new FileWriter(new File(comando+".java"),true);
    		PrintWriter saida = new PrintWriter(gravar,true);
    		while (arq.hasNext()){
    	   		String aux=new String();
    			aux=comando;// Essa variável foi criada para receber e auxiliar o dado armazenado na variável comando para algumas condições
    			comando=arq.next();
    			if  (comando.compareToIgnoreCase("Algoritimo")==0){
    	   			comando=arq.next();
    	   			System.out.println("public class " + comando + " {");
    				saida.println("public class " + comando + " {");
    	     	}
    	  		if  (comando.compareToIgnoreCase("var")==0){
    			    comando=arq.next();//agora comando recebe linha
    			    String nomevar=new String();
    			    nomevar=comando;//nomevar recebe linha
    			    comando=arq.next();//comando recebe :
    			    comando=arq.next();//comando recebe inteiro
    			   	String tipo=new String();
    			    String novotipo=new String();
    			    if (comando.compareToIgnoreCase("inteiro")==0){
    			      	novotipo="int ";
    			     	System.out.println("static " + novotipo + nomevar + ";");
    			     	saida.println("static " + novotipo + nomevar + ";\n");
    			     }
    			     if (comando.compareToIgnoreCase("string")==0){
    			      	novotipo="String ";
    			     	System.out.println("static " + novotipo + nomevar + ";");
    			     	saida.println("static " + novotipo + nomevar + ";");
    			     }
    			     if (comando.compareToIgnoreCase("boolean")==0){
    			     	novotipo="boolean ";
    			     	System.out.println("static " + novotipo + nomevar + ";");
    			     	saida.println("static " + novotipo + nomevar + ";");
    			     }
    		    }
    		   	if  (comando.compareToIgnoreCase("inicio")==0){
    		    	comando=arq.next();
    		   		System.out.println("public static void main(String[] args) {");
    		   		saida.println("public static void main(String[] args) {");
    		     }
    		  	if  (comando.compareToIgnoreCase("escreva")==0){
    			     System.out.print("    System.out.print( ");
    			     saida.println("    System.out.print( ");
    			     int cont=0;
    				while (cont <= 1){
    			    	comando=arq.next();
    			      	System.out.print(comando + " ");
    			      	saida.println(comando + " ");
    			       	if  (comando.compareToIgnoreCase(";")==0){
    			    		cont=2;
    			    	}
    			  	}
    			  	System.out.println(" );");
    			  	saida.println(" );");
    		     }
    		   	if  (comando.compareToIgnoreCase("<-")==0){
    			   	System.out.print(aux + " = ");
    			   	saida.println(aux + " = ");
    			    int cont=0;
    			   	while (cont <= 1){
    			   		comando=arq.next();
    			      	System.out.print(comando);
    			      	saida.println(comando);
    			        if  (comando.compareToIgnoreCase(";")==0){
    			    		cont=2;
    			    	}
    			  	}
    			    System.out.println(" ");//coloquei so p jogar a outra linha p baixo
    			    saida.println(" ");
    		   	}
    		  	if  (comando.compareToIgnoreCase("para")==0){
    		     	comando=arq.next();
    			    String para=new String();
    			    para=comando;
    			    comando=arq.next();
    		        if  (comando.compareToIgnoreCase("de")==0){
    		            comando=arq.next();
    		            String iniciopara=new String();
    		            iniciopara=comando;
    		          	comando=arq.next();
    		            if  (comando.compareToIgnoreCase("ate")==0){
    		            	comando=arq.next();
    		                String fimpara=new String();
    		                fimpara=comando;
    		              	comando=arq.next();
    		              					       	if  (comando.compareToIgnoreCase("passo")==0){
    				        	comando=arq.next();
    				            comando=arq.next();
    				     	}
    				        if  (comando.compareToIgnoreCase("faca")==0){
    				        	System.out.println("   for (" + para + " = " + iniciopara + "; " + para + " <= " + fimpara + "; " + para + " += " + iniciopara + ") {");
    				        	saida.println("   for (" + para + " = " + iniciopara + "; " + para + " <= " + fimpara + "; " + para + " += " + iniciopara + ") {");
    				       	}
    		          	}
    		        }
    		        else{
    		            System.out.println("Erro de comando!");
    		            saida.println("Erro de comando!");
    		        }
    		   	}
    		   	if  (comando.compareToIgnoreCase("fimpara")==0){
    		   		System.out.println("}");
    		   		saida.println("}");
    		   	}
    		   	if  (comando.compareToIgnoreCase("fim")==0){
    		    	System.out.println("}");
    		    	saida.println("}");
    		   	}
    	    }
    	    saida.close();
          	gravar.close();	
    	  	arq.close();
     	}
    }

Poderia postar o código portugol que você está tentando traduzir? pode ser que haja um erro nele.

var linha : inteiro
var coluna : inteiro
var resultado : inteiro
Inicio
Para linha de 1 ate 10 faca
Escreva "Tabuada do:",linha;
Para coluna de 1 ate 10 passo 1 faca
resultado <- linha*coluna;
Escreva linha,"*",coluna,"=",resultado;
Fimpara
Fimpara
fim