Interpretadores de comandos
EA878 - Laboratório de Micro e Minicomputadores: Software Atividade 3
1. Tema
Interpretadores de comandos, compiladores e ferramentas para geração de novas linguagens.
2. Objetivos
Familiarização com processos de geração automática de analisadores léxicos e sintáticos. Compreensão dos papéis complementares entre a análise léxica e a sintática no processo de reconhecimento de uma sentença válida (comando). Uso de gramáticas formais para especificação das funcionalidades de analisadores. Associação de ações semânticas (síntese de resultados) aos comandos interpretados. Implementação de um parser para os comandos do protocolo http (o parser fará parte do servidor HTTP em desenvolvimento).
3. Interpretadores e Compiladores
Interpretadores e compiladores são programas que processam dados de entrada (instruções de programas ou comandos isolados) e geram ações ou dados de saída (programa compilado). Normalmente os dados de entrada consistem de uma seqüência de caracteres (por exemplo, digitados pelos usuários ou provenientes de um arquivo-texto) e a saída, de uma série de ações estabelecidas pela aplicação. Basicamente, distinguem-se duas fases no processo de compilação ou interpretação: • análise: validação da seqüência de caracteres de entrada de acordo com a sintaxe da linguagem. Os caracteres são agrupados de forma a permitir decidir quais ações semânticas são aplicáveis sobre eles; • síntese: aplicação das ações semânticas sobre grupos de caracteres. As ações semânticas mais comuns são a geração de códigos de máquina (código-objeto) num arquivo, no caso de compiladores, e a execução de comandos analisados e apresentação dos resultados, no caso de interpretadores. Sob o ponto de vista de implementação, é mais eficiente separar a fase de análise em duas etapas: análise léxica e análise sintática. As principais razões para tal procedimento são: • significativa