• 0
Sign in to follow this  
kitsune

Tabela De Simbolos

Question

Para o projeto de analisador léxico, eu implementei o dicionario de palavras reservadas e o AFD juntamente com os simbolos que ele deve reconhecer, de modo que eu coloquei que ele armazenasse o que fosse constante numa String constante e o que fosse identificador na String identificador, mas não sei como passar essas Strings para a tabela de símbolo, haja visto também que eu tenho que saber como armazenar dois, ou três valores para um identificador, ou uma constante, do tipo que na tabela de simbolos tenha que ficar mais ou menos uma tabela assim:

| indice | simbolo| tipo

| 1 | joana | id

| 2 | 111 |cte

onde tipo pode ser caracterizado como identificador(id) ou constante(cte), eu sei que a sacada de colocar uma String para identificador e outra para constante ajuda bastante, mas não sei como devo repassar para a classe de tabela de símbolos e não sei que tipo de estrutura de armazenamento devo utilizar. huh.gifhuh.gif

Share this post


Link to post
Share on other sites

5 answers to this question

Recommended Posts

  • 0

Eu sei utilizar StringBuffer, mas não sei como fazer para que ele armazene todos os valores que eu preciso na tabela, afinal são dois valores já que o índice indicaria a posição do simbolo na tabela.

Share this post


Link to post
Share on other sites
  • 0
Eu sei utilizar StringBuffer, mas não sei como fazer para que ele armazene todos os valores que eu preciso na tabela, afinal são dois valores já que o índice indicaria a posição do simbolo na tabela.

Porque não usa um vetor ou um array, depois vai passando ele e colocando os nomes na ordem

Share this post


Link to post
Share on other sites
  • 0

Eu sei, pensei em usar Vector, mas não entendo como fazer para armazenar dois valores dentro de um índice. Vou mostrar como é minha classe automato:

public class Automato

{

String identificador;

String constante;

String sentenca;

int escolha;

int contautomato;

 

  Letra letra = new Letra();

  Digito digito = new Digito();

public boolean conter(String simbolo)

{

  while(contautomato<sentenca.length())

  {

  switch(escolha)

  {

  case 1:letra.existeLetra(simbolo);

    identificador+= simbolo;

  case 2: digito.existeDigito(simbolo);

    constante+=simbolo;

  default: System.out.println("Erro de caracter não reconhecido");

  }

  }

  return true || false;

}

}

Para a String identificador eu devo armazenar na tabela de simbolos o indice do objeto que sera inserido, o simbolo em si e o tipo(constante ou identificador), o mesmo ocorre para a string identificador.

Me ajudem, por favor.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this