hola estoy haciendo un analizador léxico y sintáctico en lex y cup, bueno pues en el cup necesito cambiar la entrada por defecto por un archivo, en la sección de código ingreso esto:
parser code {:
public static void main (String argv[]) throws Exception
{
if (argv.length!=1){System.out.println("Número de argumentos incorrecto!");System.exit(0);}
else
{
parser analizador;
System.in =new java.io.FileInputStream(argv[0]);
analizador = new parser(new Scan(System.in));
analizador.parse();
}
}
:};
pero no me deja,me dice que la variable .in es una variable final..alguien sabe como se hace?? gracias
buenas...
si el archivo de entrada es de texto, lo bueno es usar la clase Scanner, del paquete java.util
Scanner sc = new Scanner( new File(argv[0]) );
Yo esque lo que haria directamente seria:
parser analizador;
analizador = new parser(new Scan(new java.io.FileInputStream(argv[0])));
analizador.parse();
Y que parsee el fichero que sea argv[0] o incluso
analizador = new parser(new Scan(new File(argv[0])));
Si no entiendo mal yo creo que lo resuelves asi...
Contestame si me equivoco.
Saludos