Salve a tutti sto lavorando con Javacc per la creazione di un parser. Per il momento mi sto occupando dell'analisi lessicale quindi del token manager. Quindi ho creato la mia lista di token con i rispettivi pattern in più ho aggiunto lo skip dei commenti dello spazio e dell'andare a capo. Inoltre con eclipse atraverso Refactor-->Rename ho rinominato le classi java che inziavano con EG1 con Prova avendo quindi Prova.java, ProvaConstants e ProvaTokenManager. In parser begin ho inserito il seguente codice:
PARSER_BEGIN(Prova)
package parser;
import java.io.*;
public class Prova
{
public static void main(String args []) throws ParseException
{
Token t;
FileInputStream in;
ProvaTokenManager tm;
try {
in = new FileInputStream(args[0]);
System.out.println("QUI");
tm = new ProvaTokenManager(new SimpleCharStream(in));
t = tm.getNextToken();
while(t.kind != ProvaConstants.EOF)
{
t = tm.getNextToken();
}
} catch (FileNotFoundException e) {
e.printStackTrace();
}
}
}
PARSER_END(Prova)
In args[0] c'è la stringa $TBOO che (rappresenta il pattern di un mio token), ora quando faccio run mi esce il seguente errore:
java.io.FileNotFoundException: $TBOO (Impossibile trovare il file specificato)
at java.io.FileInputStream.open(Native Method)
at java.io.FileInputStream.<init>(Unknown Source)
at java.io.FileInputStream.<init>(Unknown Source)
at parser.Prova.main(Prova.java:17)
Qualcuno mi può spiegare il perchè di questo errore?