Validar variaveis dentro de um escopo em Java

2 respostas
I

Boa noite, pretendo fazer um trabalho de LPC ( linguagens de Programacao e compiladores ), so que ainda nao tenho ideais de como comecar…
O tema do trabalho e " validar variaveis dentro de escopo", a ideia e de validar verificar se variaveis sao validas dentro do escopo em que estao presente, o escopo refere-se a qualquer metodo, ciclo seja ele FOR,WHILE, IF, entre outros.

por ex :

public class A

{

public static void main (String args[])

{

int a,c=20,b=10;
soma(c,b);

}

public void soma(int c, int b)
{

a=c+b; // nesta instrucao o programa devera emitir uma mensagem de erro porque a variavel “a” nao e valida neste escopo
// “a” pertence somente no escopo main

}

}

A ideia basica e esta…
Uma parte do problema e fazer a analise lexica do programa ( um programa de entrada apartir de um ficheiro de txt), esta parte ja esta feita, ja tenho um vector de variaveis existentes no programa, uma lista de escopo existentes ( se isto ajudar em algo ), e outras informacoes sobre a analise lexica,agr apartir dai ja nao tenho ideias de como seguir.

Agradecia se alguem me desse a dica de como implementar este programa de uma forma mais simples possivel, pois n tenho muito tempo pra faze-lo. Obrigado

Irfaan

2 Respostas

castiel

De uma olhada em reflection e veja se te ajuda:
http://www.guj.com.br/article.show.logic?id=10

castiel

Outra idéia, vc pode fazer um vetor[escopo][variaveis], onde cada escopo tem as suas respectivas variáveis.
dai se não achar tal variável “x” no escopo “a”, ele começa a varrer os outros escopos “b”, “c” em busca da variável “x”.

Criado 24 de novembro de 2009
Ultima resposta 24 de nov. de 2009
Respostas 2
Participantes 2