Analisador lexico!

Olá, pessoal!

Tenho uma trabalho de construcao de um analisador lexico para a linguagem algoritmica.
Escolhi JAVA pq acho mais facil.
Mas nao faço a menor ideia de como começar.

Nao sei como fazer ele ler como entrada um arquivo .txt , sendo q esse arquivo pode ter qualquer nome (nao necessariamente entrada.txt)
E nem como fazer ele escrever em um outro arquivo .txt as saidas (no caso seriam algo como: “123 - inteiro”, “if - if”…e quando houver erro aparecer: “Erro tal na linha X”

Alguem me da um help?!

Obrigado!
abraços!

Oi Soujirou, acredito que a leitura/escrita de arquivos seja o menor dos seus problemas.
Utilize uma String para ser sua entrada primeramente, e vá construindo seu analisador, testando as Strings de entrada.
Ai sim, quando seu analisador estiver quase pronto, vc começa a utilizar arquivos.
No GUJ tem um artigo sobre isso: http://www.guj.com.br/article.show.logic?id=13

[]´s

Recomendo muito a leitura deste livro:
http://novatec.com.br/livros/compilador/

Olá

Não é coisa para principiante mas já tem pronto: http://www.antlr.org/

[]s
Luca

[quote=juno.rr]Recomendo muito a leitura deste livro:
http://novatec.com.br/livros/compilador/[/quote]
Achei esse livro muito fraco e muito confuso em algumas partes.

[quote=Luca]Olá

Não é coisa para principiante mas já tem pronto: http://www.antlr.org/

[]s
Luca[/quote]

Eu ia sugerir o uso do antlr, mas acho que nosso amigo está fazendo algum trabalho da faculdade, onde ele tem que gerar o analisador na “mão” e não usar um gerador para fazer o trabalho sujo.
Além do antlr, existe também o javacc (caso queira usar Java para a construção do analisador).

[]´s

Valeu pelas dicas galeraa…

Nao consegui achar esse livro pra baixar…mas dei uma lida em uns slides em cima dele.
E realmente preciso fazer na mão mesmo…é um trabalho de facu. Só a parte lexica…mais pra frente precisarei fazer a parte sintatica ai o bixo vai pegar.

Agradeço a todos! Verei o q sai.

abraços!

Cara, não adianta mandar MP que eu nem tenho mais o analisador léxico. Se você precisa pra Domingo que vem (12), com um pouco de esforço você faz ele até quarta-feira a noite. Não é complexo… análise léxica é a mais básica das básicas. Você primeiro define o que pode e o que não pode, depois passa caracter a caracter verifiando. Vai armazenando num map o que é o que do que você já passou e pronto! Você pode dizer os erros de compilação conforme vai fazendo a percorrida e, no final, você até mostra quem são os lexemas e as definições.