Mapa mental
introdução a Compiladores
Conteúdo do mapa
introdução a Compiladores
Compiladores na programação
- Linguagens dos processadores
- demanda por uma maior eficiência de programação, foi a motivaçao procipal para desenvover, compiladores
- A programação antes dos compiladores
- Para cada processador, devia ser desenvolvido o código especifíco
- Claramente, uma situação pouco eficiente e de alto custo para as empresas.
- A solução passava por buscar mecanismos que permitissem a “programação automática”,
- executado nos diferentes processadores.
- Linguagens de alto nível
- Em linguagens de alto nível, as instruções são expressas na forma de um texto que independe do processador.
- O objetivo é facilitar, para os programadores, as tarefas de expressar os comandos de um novo programa
- Linguagens dos processadores
Compiladores no processamento da informação
- Processamento de arquivos XML
- Uma aplicação cada vez mais presente no cotidiano de quem usa computadores, principalmente na navegação pela World Wide Web,
- A informação em um arquivo XML, embora possa ser lida por seres hu- manos,
- Essencialmente, o conteúdo de um arquivo XML está organizado em uma hierarquia de elementos, com cada elemento delimitado por marcações.
- Esse é um exemplo de informação estruturada. Apesar
- Páginas dinâmicas da (WWW)
- Páginas na World Wide Web são disponibilizadas a partir de um servidor, que atende a solicitações de clientes
- Quando o servidor tem a página com seu conteúdo já definido,
- Páginas dinâmicas, por outro lado, não têm esse conteúdo pronto. O servi- dor deve criar esse conteúdo a partir de um gabarito,
- Como se pode observar, também nesse caso há uma tradução de uma espe- cificação com um alto nível de abstração
- Processamento de arquivos XML
Atividade de um Compilador
- Escrita de arquivos de destino
- Outra tarefa que o compilador deverá realizar é a criação de um arquivo de des- tino,
- Para escrever dados da aplicação para um arquivo (stream) em disco, o pro- gramador deve utilizar um objeto da classe ofstream. Essa classe, assim como a classe ifstream, é especificada no arquivo de cabeçalho fstream.
- Outros especificadores são utilizados para indicar como o conteúdo de um arquivo já existente deve ser tratado.
- Leirura de arquivo de origrem
- Antes de realizar qualquer tarefa de interpretação dos elementos do arquivo de entrada, o compilador precisa ler os caracteres de entrada que estão num arquivo de texto, armazenado no disco.
- Em qualquer das duas situações, a string constante (o texto entre aspas no código) poderia ter sido substituída por uma variável com o nome do arquivo.
- Essa é uma característica importante no processamento de arquivos de ori- gem, pois esses caracteres tipicamente são utilizados para separar os elementos das sentenças de entrada.
- Interação com arquivos padrão
- As saídas padrão estão associadas aos objetos cout e cerr, ambos ins- tâncias da classe ostream.
- Todo programa, ao executar, está habilitado a interagir com o “mundo exterior” por meio de três canais, que são denominados arquivos padrão do sistema.
- Em C++, esses arquivos padrão são representados por três streams. Um des- ses streams é cout,
- Escrita de arquivos de destino
Exemplos de compiladores
- Compilador C++
- O compilador g++ é parte da coleção de compiladores Gnu, da Free Software Foundation.
- Para o primeiro passo, é importante que o arquivo criado tenha como conteúdo apenas a seqüência de caracteres que compõe o programa.
- Para que o compilador possa produzir o arquivo executável, é preciso que o código-fonte esteja de acordo com as regras da linguagem de programação.
- Exemplo de processamento XML
- Um aplicativo que é distri- buído juntamente com esse analisador, para ilustrar sua utilização,
- <livros> <livro> <título>Dom Casmurro</título> <autor>Machado de Assis</autor> <ano>1900</ano> </livro> <livro> <título>As Intermitências da Morte</título> <autor>José Saramago</autor> <ano>2005</ano> </livro> </livros>
- Para encerrar esses exemplos, outra situação que pode ocorrer é que o ar- quivo termine sem que o analisador tenha conseguido completar a estrutura in- terna do documento.
- Compilador C++
Notas e sugestões de leitura
- Na Web, o site C/C++ Reference (http: //www.cppreference.com/) descreve as principais classes do núcleo da linguagem, incluídas as classes para manipulação de streams usadas neste capí- tulo.
- A coleção de compiladores GCC, que inclui compiladores para C e C++, entre outras linguagens, é descrita na página http://gcc.gnu.org/.
- A linguagem XML foi criada pelo Consórcio W3C (http://www.w3. org/XML/),
- O analisador Xerces-C faz parte da plataforma de aplicações associadas ao servidor Web Apache (http://xerces.apache.org/xerces-c/).
Informações
- Descrição
- Mapa Mental sobre introdução a Compiladores, criado por Gustavo Garcia Pereira em 07-07-2019.
- Criado por
- Gustavo Garcia Pereira
- Visualizações
- 3
- Avaliação