Administrador de rede
Existem duas espécies principais de processadores de linguagem: os interpretadores e os tradutores.
Um interpretador é um programa que aceita como entrada um programa escrito em uma linguagem chamada linguagem fonte e executa directamente as instruções dadas nesta linguagem.
Um tradutor é um programa que aceita como entrada um programa escrito em uma linguagem fonte e produz como saída uma outra versão do programa escrito em uma linguagem objecto. •Tradutores são arbitrariamente divididos em montadores e compiladores, os quais traduzem linguagens de baixo nível e de alto nível, respectivamente.
•Além disso, há os pré-processadores que traduzem uma linguagem de alto nível em outra linguagem de alto nível.
•O fundamento matemático da teoria de processamento de linguagens é a teoria de autómatos e linguagens formais.
•Modelo Simples de Compilador
•O objectivo de um compilador é traduzir as sequências de caracteres que representam o programa fonte em instruções de máquina que incorporam a intenção do programador.
•Em um modelo simples de compilador o trabalho pode ser feito por uma interconexão serial entre três blocos, chamados: bloco léxico, bloco sintáctico e gerador de código.
•Os três blocos têm acesso a tabelas de informações globais sobre o programa fonte. Uma destas tabelas é, por exemplo, a tabela de símbolos, na qual a informação sobre cada variável ou identificador utilizado no programa fonte é armazenada. A conexão entre estes blocos e tabelas é mostrada na figura seguinte:
•Bloco Léxico
A entrada para um compilador é a cadeia de caracteres quer representa o programa fonte. O objectivo do bloco léxico é quebrar esta cadeia de caracteres separando as palavras que nela estão representadas. Por exemplo, a cadeia de entrada poderia ser: RESULTADO:=RESULTADO+15
Neste caso, o bloco léxico deve