Python/Conceitos básicos/Análise léxica: diferenças entre revisões

[edição verificada][edição verificada]
Conteúdo apagado Conteúdo adicionado
He7d3r.bot (discussão | contribs)
Trocando categorização manual por AutoCat (o indexador da categoria estava incorreto) [ usando AWB ]
Torneira (discussão | contribs)
Sem resumo de edição
 
Linha 1:
Voltar para a [[Python|página inicial]].
 
----
 
No capítulo 2 do Manual de Referência da Linguagem Python diz que a [[w:análise léxica|análise léxica]] é uma análise do interpretador em sí, os programas são lidos por um [[w:parser|parser]], que
Linha 24 ⟶ 21:
</pre>
 
Para a delimitação de blocos de códigos os delimitadores são colocados em uma [[w:FILO|pilha]] e diferenciados por INDENT e DEDENT. Iniciando a pilha com valor 0 (zero) e colocando valores maiores que os anteriores na pilha. Para cada começo de linha, o nível de endentaçãoindentação é comparado com o valor do topo da pilha, se o número da linha for
igual ao topo da pilha, a pilha não é alterada, se o valor for maior a pilha recebe o nível de endentaçãoindentação da linha e o nome INDENT (empilhamento) se o nível de endentaçãoindentação for menor, então é desempilhado até chegar a um nível de endentaçãoindentação recebendo o nome
DEDENT (desempilhamento) e se não encontrar nenhum valor é gerado um erro de endentaçãoindentação.
 
Abaixo um exemplo de permutação, retirado do capítulo 2.1 sobre Estrutura de linhas na Análise léxica do Manual de Referência da linguagem (Language Reference Manual):