Escolar Documentos
Profissional Documentos
Cultura Documentos
ANÁLISE LÉXICA
ROTEIRO
4 ANÁLISE LÉXICA
4.1 Elementos Léxicos
2
4 ANÁLISE LÉXICA
3
4 ANÁLISE LÉXICA
4
4 ANÁLISE LÉXICA
5
4 ANÁLISE LÉXICA
6
4 ANÁLISE LÉXICA
7
4 ANÁLISE LÉXICA
8
4 ANÁLISE LÉXICA
9
4 ANÁLISE LÉXICA
10
4 ANÁLISE LÉXICA
11
4 ANÁLISE LÉXICA
12
“
A função exata do analisador léxico é reconhecer os tokens
associados às expressões regulares, ou seja, o subconjunto da
linguagem livre de contexto pertencente apenas às linguagens
regulares, composto pelos elementos básicos, tais como
identificadores, operadores, constantes, comentários,
caracteres especiais e tipos compostos.
13
4 ANÁLISE LÉXICA
14
4 ANÁLISE LÉXICA
15
4 ANÁLISE LÉXICA
▰ Uma técnica simples para construir um lexer, segundo Aho et al. (2007), é
escrever um diagrama que ilustre a estrutura dos tokens da linguagem
fonte e depois implementar um programa que o identifique. Podemos fazer
essa implementação diretamente ou usar padrões para a especificação
léxica e usar geradores de analisadores léxicos (scanners) tal como o Yacc
ou o JFLEX.
16
4 ANÁLISE LÉXICA
▰ Uma técnica simples para construir um lexer, segundo Aho et al. (2007), é
escrever um diagrama que ilustre a estrutura dos tokens da linguagem
fonte e depois implementar um programa que o identifique. Podemos fazer
essa implementação diretamente ou usar padrões para a especificação
léxica e usar geradores de analisadores léxicos (scanners) tal como o Yacc
ou o JFLEX.
18
4 ANÁLISE LÉXICA
19
4 ANÁLISE LÉXICA
20
4 ANÁLISE LÉXICA
22
4 ANÁLISE LÉXICA
23
4 ANÁLISE LÉXICA
▰ Ainda podemos observar que o lexema ‘1b’ não pode ser reconhecido por
um token, portanto não é um padrão aceito pelo analisador léxico, assim o
elemento ‘1b’ será rejeitado e reportado à função de tratamento de erro,
que deverá gerar uma mensagem adequada informando que o elemento foi
rejeitado. Cada par (token, lexema) deve ser armazenado em uma tabela
dinâmica de símbolos para futuras consultas pelas demais fases da
compilação. Podemos utilizar tabelas hash para as pesquisas serem mais
rápidas.
24
4 ANÁLISE LÉXICA
▰ Tabela hash é uma estrutura de dados, que associa uma chave de pesquisa
a valores. Assim, a partir de uma chave simples encontramos rapidamente
o valor pesquisado. Para saber mais assista ao vídeo: PAULO PARALUPPI.
Tabelas Hash – Estrutura de Dados – Unicamp. 22 abr. 2011. [1m50s].
Disponível em: <https://www.youtube.com/watch?v=Non0I_OSt9o>. Acesso
em: set. 2021.
25
4 ANÁLISE LÉXICA
26
4 ANÁLISE LÉXICA
27
4 ANÁLISE LÉXICA
28
4 ANÁLISE LÉXICA
29
4 ANÁLISE LÉXICA
30
4 ANÁLISE LÉXICA
31
4 ANÁLISE LÉXICA
32
4 ANÁLISE LÉXICA
33
4.1
ELEMENTOS LÉXICOS
34
4.1 ELEMENTOS LÉXICOS
35
4.1 ELEMENTOS LÉXICOS
36
4.1 ELEMENTOS LÉXICOS
37
4.1 ELEMENTOS LÉXICOS
38
4.1 ELEMENTOS LÉXICOS
39
4.1 ELEMENTOS LÉXICOS
40
4.1 ELEMENTOS LÉXICOS
41
4.1 ELEMENTOS LÉXICOS
▰ Lembre-se:
Token – é um padrão que ocorre na linguagem.
Lexema – é uma instancia do token.
Produção – é uma regra pertencente à gramática da linguagem.
43
4.1 ELEMENTOS LÉXICOS
44
4.1 ELEMENTOS LÉXICOS
45
4.1 ELEMENTOS LÉXICOS
46
4.1 ELEMENTOS LÉXICOS
47
4.1 ELEMENTOS LÉXICOS
48
4.1 ELEMENTOS LÉXICOS
49
4.1 ELEMENTOS LÉXICOS
50
4.1 ELEMENTOS LÉXICOS
51
4.1 ELEMENTOS LÉXICOS
52
4.1 ELEMENTOS LÉXICOS
53
4.1 ELEMENTOS LÉXICOS
54
4.1 ELEMENTOS LÉXICOS
55
4.1 ELEMENTOS LÉXICOS
56
4.1 ELEMENTOS LÉXICOS
57
4.1 ELEMENTOS LÉXICOS
58
4.1 ELEMENTOS LÉXICOS
59
4.1 ELEMENTOS LÉXICOS
60
4.1 ELEMENTOS LÉXICOS
61
4.1 ELEMENTOS LÉXICOS
62
4.1 ELEMENTOS LÉXICOS
63
4.1 ELEMENTOS LÉXICOS
64
4.1 ELEMENTOS LÉXICOS
65
4.1 ELEMENTOS LÉXICOS
66
4.1 ELEMENTOS LÉXICOS
67
4.1 ELEMENTOS LÉXICOS
▰ O estado inicial é q0, ao receber uma <letra> ele muda do estado q0 para o
estado qf. O estado é um estado final, mas pode receber, após a primeira
<letra>, infinitos <letra> e/ou <digito>. Assim, podemos concluir que um
<identificador> pode ser:
68
4.1 ELEMENTOS LÉXICOS
▰ O estado inicial é q0, ao receber uma <letra> ele muda do estado q0 para o
estado qf. O estado é um estado final, mas pode receber, após a primeira
<letra>, infinitos <letra> e/ou <digito>. Assim, podemos concluir que um
<identificador> pode ser:
a) Gerado pela produção (3) <identificador> ::= <letra> {[<letra>|<digito>]}, que é
uma expressão regular.
69
4.1 ELEMENTOS LÉXICOS
70
4.1 ELEMENTOS LÉXICOS
71
4.1 ELEMENTOS LÉXICOS
72
BIBLIOGRAFIA
73
OBRIGADO!
Perguntas?
edilson.carlos@ceuma.com.br
(98) 9 8806-8505
74
75
Vamos lá...
😉
✋👆👉👍👤👦👧👨👩👪💃
🏃💑❤😂😉😋😒😭👶😸🐟
🍒🍔💣📌📖🔨🎃🎈🎨🏈🏰
🌏🔌🔑 até a próxima aula...
76