Next:
Sumário
 
Sumário
Programação de Sistemas:
Uma Introdução
Ivan Luiz Marques Ricarte
http://www.dca.fee.unicamp.br/~ricarte/
2003
Impressão em 14. Fevereiro 2003
Sumário
Prefácio
Introdução
Programas e processos
Desenvolvimento de
software
Projeto
Programação estruturada
Codificação
Software
de sistema
Estruturas de dados
Tipos de dados
Escalares
Ponteiros
Tipos agregados
Tabelas
Organização interna
Aspectos de implementação
Busca
Busca linear
Busca binária
Usando rotinas de busca em C
Ordenação
Ordenação por comparação
Ordenação por contagem
Usando rotinas de ordenação em C
Tabelas
hash
Listas ligadas
Manipulação de nó
Manipulação de lista
Filas e pilhas
Manipulação de listas em C
Árvores
Manipulação de arquivos
Arquivos em C
Acesso seqüencial
Exercícios
Compiladores
Gramáticas
Terminologia
Definição formal
Classificação
Expressões regulares
Gramáticas livres de contexto
Análise léxica
Autômatos finitos
Construção do autômato finito não-determinístico
Conversão para autômato finito determinístico
Minimização de estados
Analisadores léxicos
Geradores de analisadores léxicos
Especificação das sentenças regulares
Integração com código C
Geração da aplicação
Análise sintática
Reconhecimento de sentenças
Derivações canônicas
Árvores gramaticais
Analisadores sintáticos
Analisador sintático preditivo
Analisador de deslocamento e redução
Geradores de analisadores sintáticos
Geração de código e otimização
Análise semântica
Geração de código
Otimização de código
Exercícios
Carregadores e ligadores
Montadores
Programas
assembly
Montagem
Formato do módulo objeto
Montagem e carregamento combinados
Montadores em dois passos
Montagem e carregamento
assemble and go
Carregamento absoluto
Relocação e Ligação
Estruturas de dados adicionais
Carregamento e ligação combinados
Algoritmos do carregador de ligação direta
Exemplo de aplicação
Ligadores
Bibliotecas
Carregamento e Ligação Dinâmicos
Exercícios
Apêndices
Representação numérica binária
Assembly do 68000
Organização dos dados
Instruções
assembly
Modos de endereçamento
Codificação binária
Instrução sem efeito
Instruções lógicas e aritméticas
Instruções de transferência
Instruções de desvios
Instruções para subrotinas
Exercícios
Programação C
Organização básica de programas C
Declarações de variáveis
Expressões
Controle do fluxo de execução
Invocação de funções
Tipos agregados e derivados
Arranjos
Strings
Estruturas
Uniões
Enumerações
Definição de nomes de tipos
Ponteiros
Aritmética de ponteiros
Ponteiros e arranjos
Ponteiro como argumento de funções
Ponteiros e estruturas
Ponteiros para funções
Argumentos na linha de comando
Rotinas para entrada e saída de dados
Interação com dispositivos padrão
Interação com arquivos
Rotinas para interação com o sistema operacional
O pré-processador C
Exemplo de aplicativo
Palavras reservadas em C e C
+
+
Precedência de operadores
Exercícios
Bibliografia
About this document ...
Ivan L. M. Ricarte 2003-02-14