Please enable JavaScript.
Coggle requires JavaScript to display documents.
Compilador (componentes), Analisador Léxico, Analisador Sintático -…
Compilador (componentes)
-
É responsável por pegar os arquivos de entrada e trabalhar em suas caracterísitcas reservadas (como begin) e transformar em tokens, que serão interpretados pelo Analisador Sintático
Uma dica que o professor deu para compilação, é ter as palavras reservadas como key value, sendo a key um id e o value a string (para facilitar)
tokens são: begin, while, ponto-e-virgula
Com os tokens obtidos, é responsável por criar uma árvore de derivação
Se a árvore de derivação for montada corretamente, ele envia ela para o Analisador Semantico
-
Se o analisador sintático nos informar que a sintax da árvore está correta, ainda temos que verificar se a semantica está correta. Por exemplo: a sintax de atribuição de um booleano para um inteiro pode estar correta, mas está semanticamente incorreta
-
- Gerador de código e arquivo de saída
-
-
Analisador Léxico
Precisamos de um "flex" (fast lex) para nodeJS, para identificação e criação dos tokens
-
Os arquivos flex, precisam de uma definição, regras e sub-rotinas
Isolar palavras chaves para que seja de forma mais fácil, entendível para o analisador sintático
Quando isolada, essas palavras chaves são chamadas de tokens/simbolos/átomos
-
-
Analisador Sintático
-
O processo para a análise sintática, é obter uma entrada e verificar se essa entrada forma uma árvore através da gramática definida
-
Temos uma notação infixa e uma notação pós fixa, que executará os nós executaveis da árvore que foi definido na gramática
-