Estou estudando Java por conta própria e estava lendo agora há pouco sobre tokenizers.
Encontrei o seguinte código:
import java.io.*;
import java.util.*;
public class TokenizingJavaSourceCode{
//public static final int TT_EOL;
public static void main(String[] args) throws IOException{
BufferedReader in = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Please enter a java file name: ");
String filename = in.readLine();
if(!filename.endsWith(".java")){
System.out.println("This is not a java file.");
System.exit(0);
}
File javaFile = new File(filename);
if(javaFile.exists()){
FileReader file = new FileReader(filename);
StreamTokenizer streamTokenizer = new StreamTokenizer(file);
// It will go through the file and
//gives the number of tokens in the file
int i=0;
int numberOfTokensGenerated = 0;
while(i != StreamTokenizer.TT_EOF){
i = streamTokenizer.nextToken();
numberOfTokensGenerated++;
}
System.out.println("Number of tokens = " + numberOfTokensGenerated);
}
else{
System.out.println("File does not exist!");
System.exit(0);
}
}
}
Pelo o que entendi, ele vai carregar um arquivo .java e mostrar o número de tokens na tela, certo? É possível ele ler um outro tipo de código fonte, por exemplo, de um arquivo C ou Pascal, e mostrar os tokens também? Se eu alterar alguns detalhes no código, é claro. E se eu quisesse, por exemplo, que ele gerasse um arquivo .txt com o token (não somente o número de tokens encontrados, mas o resultado mesmo), como eu faria?
Question
Giovanna Cóppola
Pessoal,
Estou estudando Java por conta própria e estava lendo agora há pouco sobre tokenizers.
Encontrei o seguinte código:
Pelo o que entendi, ele vai carregar um arquivo .java e mostrar o número de tokens na tela, certo? É possível ele ler um outro tipo de código fonte, por exemplo, de um arquivo C ou Pascal, e mostrar os tokens também? Se eu alterar alguns detalhes no código, é claro. E se eu quisesse, por exemplo, que ele gerasse um arquivo .txt com o token (não somente o número de tokens encontrados, mas o resultado mesmo), como eu faria?
Obrigada desde já,
Giovanna Cóppola
Link to comment
Share on other sites
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.