quinta-feira, 8 de maio de 2008

O modelo de compilação de análise e síntese I

Depois das várias explicações já dadas, está na hora de um maior aprofundamento de como ocorre o processo de compilação. Nela existem duas partes: a análise e a síntese. Porém para o seu melhor entendimento, teremos que aprender mais alguns conceitos. São eles os algoritmos e as estruturas de dados.
Algoritmos: Para resolver um problema no computador é necessário que seja primeiramente encontrada uma maneira de descrever este problema de uma forma clara e precisa. É preciso que encontremos uma seqüência de passos que permitam que o problema possa ser resolvido de maneira automática e repetitiva. Esta seqüência de passos é chamada de algoritmo.
Sendo assim, algoritmo é um conjunto de instruções finita, não ambigua e com todos os passos definitos responsável por solucionar um problema.

Ele pode ser escrito em pseudo linguagem ou por meio de fluxogramas. Por pseudo linguagem, os algoritmos são representados em uma linguagem que esteja o mais próximo possível de uma linguagem de programação de computadores de alto nível, mas evitando definir regras de construção gramatical muito rígidas. A idéia é usar as vantagens do emprego da linguagem natural, mas restringindo o escopo, o objetivo da linguagem. Normalmente estas linguagens são versões ultra reduzidas de linguagens de alto nível do tipo Pascal ou C. Por fluxogramas várias formas geométricas são utilizadas para descrever cada uma das possíveis ações durante a execução do algoritmos.
Exemplo:

Estrutura de dados: é o nome dado a organização de dados e algoritmos de forma coerente e racional de modo a otimizar, melhorar o seu uso. De acordo com o modo como um conjunto de dados são organizados e como as operações que são efetuadas sobre estes dados pode-se solucionar de forma simples problemas extremamente complexos. Existem diversos modelos de estruturas de dados, e novos modelos são criados constantemente, pois acompanham também a evolução dos algoritmos e das linguagens de programação, porém iremos nos prender a uma estrutura clássica que será citada com frequência daqui em diante.
Essa estrutura é chamada de árvore e ela se caracteriza pela relação de hierarquia entre os elementos que a compõem. O exemplo abaixo é uma representação simples de uma árvore binária, caracterizada pelo elemento distinto (bola de cor vermelha) e sua bifurcações chamadas sub-árvore direita e sub-árvore esquerda (bola de cor azul).

Nenhum comentário: