Pessoal,
Estou construindo um compilador e precisava do auxilio de como identificar constantes em meu codigo e torna cada cte encontrada em um objeto para que eu possa manipula-las.
obrigado pela atenção!
abraço

Pessoal,
Estou construindo um compilador e precisava do auxilio de como identificar constantes em meu codigo e torna cada cte encontrada em um objeto para que eu possa manipula-las.
obrigado pela atenção!
abraço

Cara… se voce não explicar melhor é quase impossivel te ajudar.
Como voce esta fazendo esse compilador? É em java? ele le o que? como? sai o que?
Para identificar constantes você precisa de um autômato. Na minha época de faculdade eu usei um switch case dentro de um loop recursivo e ao chegar em um estado final do autômato, ele criava um objeto relativo ao resultado.
Lembre-se que desenhar o autômato antes de começar a programar é muito importante, principalmente pra reduzir a probabilidade de erros no seu código.
Espero ter ajudado.
Abs
Fazer um compilador não e tão simples assim , são varios passos …procure um livro sobre compiladores , e ja te adiantando …e muito trabalhoso e o codigo fica muito grande , mesmo para uma linguagem relativamente pequena
É realmente trabalhoso!
Até agora meu programa reconhece dentro do código fornecido todas as palavras que estão contidas no meu arraylist de fixos e reconhece meu identificadores.
Agora o proximo passo é identificar as contantes, depois ignorar comentarios e depois reconhecer sequencia de carateres!
Ae termino o meu Analisador Léxico e parto para o Analisador Sintático!
acho que vou logo pros comentarios, depois volto pras constantes!
Obrigado pelo apoio pessoal!
Qualquer dúvida posto novamente aqui…
abraço…
É realmente trabalhoso!
Até agora meu programa reconhece dentro do código fornecido todas as palavras que estão contidas no meu arraylist de fixos e reconhece meu identificadores.
Agora o proximo passo é identificar as contantes, depois ignorar comentarios e depois reconhecer sequencia de carateres!Ae termino o meu Analisador Léxico e parto para o Analisador Sintático!
…
cara eu não estou bem certo se você sabe oq ue está fazendo…
o analisador léxico não reconhece nada disso… basicamente o que ele faz é separar todo o código, as palavras dele formando uma pilha, vc pode coloca num arraylist por exemplo, esse arraylist vai ser enviado pro analisador sintatico… o sintatico vai tentar formar a arvore gramatical usando os itens da pilha, as palavras, e passar essa arvre pro semantico, esse que por final vai dizer o que é definido como variavel, o que é uma função a se colocar na tabela de simbolos por exemplo…
enquanto você ainda está no léxico não só não precisa se preocupa com essas coisas como também não deve…
Se alguem estiver precisando de um projeto de um compilador me manda um email: [email removido] que eu também estou fazendo um compilador e já fiz até o analisador semântico.