O documento descreve o compilador GCC, incluindo sua história, versões, estrutura e funcionamento. O GCC (GNU Compiler Collection) foi desenvolvido originalmente por Richard Stallman em 1987 para o projeto GNU. Ele é um compilador multiplataforma, de código aberto, que suporta várias linguagens como C, C++, Java e Fortran. O GCC realiza quatro etapas de compilação: pré-processamento, compilação, montagem e ligação. Sua estrutura inclui front-end, middle-end e back-end para análise, ot
Este documento fornece uma introdução às histórias em quadrinhos, incluindo sua origem, características, formatos e como podem ser usadas em sala de aula. Explica que HQs são narrativas sequenciais com texto e imagens, surgiram nos EUA no final do século 19 e podem incluir balões de diálogo, onomatopeias, linhas cinéticas e metáforas visuais. Também discute como criar HQs e como podem ser usadas para ensinar português.
O documento contém 7 questões sobre a Semana de Arte Moderna de 1922 no Brasil. As questões abordam obras literárias de autores como Guimarães Rosa e Mário de Andrade, assim como os objetivos do Modernismo Brasileiro de valorizar temas e expressões culturais nacionais e romper com padrões acadêmicos europeus. O documento também fornece as respostas corretas para cada uma das questões.
Juan Miró foi um importante pintor e escultor espanhol do século XX. Nasceu em Barcelona em 1893 e faleceu em Palma de Maiorca em 1983. Foi um dos principais representantes do surrealismo, influenciado também pelo cubismo e abstracionismo. Sua obra explorou temas do inconsciente e do irracional de forma simplificada.
O documento apresenta uma análise detalhada do soneto "Soneto de Separação" de Vinícius de Moraes. A análise descreve como o poema contrasta a felicidade do casal antes da separação com a tristeza após, mostrando como a perda do amor transformou completamente a vida das pessoas de uma forma repentina e dolorosa.
O documento contém questões sobre o poema "A Canção do Africano", de Castro Alves. A primeira questão trata das características de Castro Alves, com apenas uma opção incorreta. A segunda questão é sobre detalhes do poema, com um comentário marcado como incorreto. O texto também apresenta trechos do poema.
O documento fornece dicas para tirar retratos criativos, experimentando novos ângulos, enquadramentos e estilos ao invés de apenas fotografar de frente. Sugere fotografar partes do rosto ou corpo em vez do retrato completo, usar molduras naturais ou diferentes formatos de imagem para criar retratos originais.
O documento descreve o contexto histórico e literário do Romantismo no Brasil no século XIX. Apresenta os principais gêneros da prosa romântica como o romance indianista, regional e urbano. Destaca obras como O Guarani, Iracema e Ubirajara de José de Alencar como exemplos do romance indianista que buscavam definir a identidade nacional brasileira.
Em 1959, Lygia Clark e outros artistas publicaram o Manifesto Neoconcreto rompendo com o concretismo e marcando o início do neoconcretismo. Lygia Clark foi uma importante artista brasileira que começou com abstracionismo geométrico e lecionou em faculdades de arte.
Este documento fornece uma introdução às histórias em quadrinhos, incluindo sua origem, características, formatos e como podem ser usadas em sala de aula. Explica que HQs são narrativas sequenciais com texto e imagens, surgiram nos EUA no final do século 19 e podem incluir balões de diálogo, onomatopeias, linhas cinéticas e metáforas visuais. Também discute como criar HQs e como podem ser usadas para ensinar português.
O documento contém 7 questões sobre a Semana de Arte Moderna de 1922 no Brasil. As questões abordam obras literárias de autores como Guimarães Rosa e Mário de Andrade, assim como os objetivos do Modernismo Brasileiro de valorizar temas e expressões culturais nacionais e romper com padrões acadêmicos europeus. O documento também fornece as respostas corretas para cada uma das questões.
Juan Miró foi um importante pintor e escultor espanhol do século XX. Nasceu em Barcelona em 1893 e faleceu em Palma de Maiorca em 1983. Foi um dos principais representantes do surrealismo, influenciado também pelo cubismo e abstracionismo. Sua obra explorou temas do inconsciente e do irracional de forma simplificada.
O documento apresenta uma análise detalhada do soneto "Soneto de Separação" de Vinícius de Moraes. A análise descreve como o poema contrasta a felicidade do casal antes da separação com a tristeza após, mostrando como a perda do amor transformou completamente a vida das pessoas de uma forma repentina e dolorosa.
O documento contém questões sobre o poema "A Canção do Africano", de Castro Alves. A primeira questão trata das características de Castro Alves, com apenas uma opção incorreta. A segunda questão é sobre detalhes do poema, com um comentário marcado como incorreto. O texto também apresenta trechos do poema.
O documento fornece dicas para tirar retratos criativos, experimentando novos ângulos, enquadramentos e estilos ao invés de apenas fotografar de frente. Sugere fotografar partes do rosto ou corpo em vez do retrato completo, usar molduras naturais ou diferentes formatos de imagem para criar retratos originais.
O documento descreve o contexto histórico e literário do Romantismo no Brasil no século XIX. Apresenta os principais gêneros da prosa romântica como o romance indianista, regional e urbano. Destaca obras como O Guarani, Iracema e Ubirajara de José de Alencar como exemplos do romance indianista que buscavam definir a identidade nacional brasileira.
Em 1959, Lygia Clark e outros artistas publicaram o Manifesto Neoconcreto rompendo com o concretismo e marcando o início do neoconcretismo. Lygia Clark foi uma importante artista brasileira que começou com abstracionismo geométrico e lecionou em faculdades de arte.
1) O Fauvismo foi um movimento artístico de curta duração no início do século XX caracterizado pela utilização de cores vivas e contrastantes.
2) Liderado por Henri Matisse, o movimento rejeitava a perspectiva acadêmica em favor de formas simplificadas e do tratamento intuitivo do espaço.
3) Os fauvistas usavam cores puras em grandes manchas para transmitir emoções e exaltar a sensualidade e sugestão da cor.
1) O documento descreve a origem e evolução do cinema desde sua invenção pelos irmãos Lumière até se tornar uma indústria com códigos próprios.
2) Detalha pioneiros como Méliès e Griffith e como o cinema rapidamente evoluiu de curtas filmagens para ficção e documentários.
3) Aponta grandes diretores que usaram o cinema para servir movimentos artísticos e ideológicos diferentes.
Sebastião Salgado é um fotógrafo brasileiro reconhecido internacionalmente por seu trabalho retratando as mazelas do mundo. Formou-se em economia mas trocou a carreira pelo fotografia após viajar para a África. Ao longo de sua carreira, viajou pelo mundo tirando fotos preto e branco da humanidade e recebeu muitos prêmios importantes de fotografia.
CAP 4. O cinema - setima arte e construçao do objeto em movimento.pptxTATE9
O documento discute o cinema como forma de arte, mencionando a experiência cinematográfica, os gêneros e a evolução técnica do cinema, desde o cinema mudo até os efeitos visuais modernos. Inclui também detalhes sobre planejamento, produção e edição de filmes.
Este documento discute as técnicas de encenação no cinema, como a posição dos atores, ângulos de câmera, iluminação e movimentos. Explora esquemas convencionais como "levanta-e-fala" e "anda-e-fala" e como direcionar a luz para criar diferentes efeitos visuais e emocionais. Também discute como a encenação pode contar histórias e provocar suspense de maneiras variadas.
O documento discute o movimento literário do Realismo no século XIX. Apresenta as características desse movimento como a negação da arte pela arte e a representação objetiva da realidade. Também discute a influência do Realismo em Portugal e no Brasil, com ênfase na crítica social presente nos romances realistas brasileiros.
Os irmãos Lumière inventaram o cinematógrafo e realizaram o primeiro filme da história. Ao longo dos anos, o cinema evoluiu de peças de teatro filmadas para filmes sonoros em Hollywood. Grandes diretores como David Griffith e Orson Welles ajudaram a estabelecer o cinema como uma forma de arte.
O documento descreve a evolução da captura e reprodução do movimento através da história, desde desenhos de animais em cavernas até as invenções da câmara escura, lanterna mágica, folioscópio e cinetoscópio. Destaca Eadward Muybridge que capturou imagens em sequência de um cavalo galopando e os irmãos Lumière que projetaram o primeiro filme em 1895, marcando o início do cinema.
O documento descreve o que é uma caricatura, como exagera características físicas de uma pessoa de forma divertida sem ser um retrato fiel. Também salienta hábitos e gestos da pessoa. Fornece dicas para desenhar caricaturas, como escolher uma imagem nítida, exagerar contornos com circunferências, fazer rascunhos completos antes de detalhes, aplicar luz e sombra.
O documento descreve o estilo Barroco no Brasil, desde seu desenvolvimento entre os séculos XVII e XIX até suas principais características arquitetônicas e artísticas nas diferentes regiões brasileiras. O Barroco variou entre regiões mais ricas com igrejas luxuosas e regiões pobres com construções modestas. O documento também destaca importantes artistas como Aleijadinho e suas obras em Congonhas do Campo.
O documento descreve características da literatura romântica no Brasil, incluindo a poesia e a prosa do período. A natureza é vista como reflexo do eu interior e há uma valorização da espiritualidade e religiosidade. A prosa inclui romances históricos, indianistas e regionais. Autores importantes como Gonçalves de Magalhães, Álvares de Azevedo, Castro Alves, José de Alencar e Joaquim Manuel de Macedo são discutidos.
Desde as sombras chinesas até aos irmãos Lumière, o homem procurou formas de captar e projetar o movimento, culminando na invenção do cinema. Georges Méliès transformou a fotografia animada numa arte através de efeitos especiais. Nos Estados Unidos, Hollywood tornou-se o centro da indústria cinematográfica, popularizando gêneros como comédia e western e criando o sistema de estrelas.
O cubismo se originou na obra de Paul Cézanne e representava objetos com todas as suas partes num mesmo plano, sem fidelidade à aparência real. Dividiu-se em cubismo analítico, caracterizado pela desestruturação em elementos, e cubismo sintético, que procurou tornar figuras reconhecíveis novamente. Picasso e Braque foram expoentes do cubismo analítico, enquanto o movimento também influenciou artistas brasileiros como Tarsila do Amaral e Anita Malfatti.
Cildo Meireles é um artista conceitual brasileiro reconhecido internacionalmente por suas obras políticas que instigam reflexão. Suas principais características incluem usar diversos materiais e técnicas para questionar aspectos sociais, e buscar provocar emoção no espectador de forma breve. Sua trajetória inclui participações em importantes eventos internacionais e o desenvolvimento de obras conceituais complexas que abordam temas como a ditadura militar brasileira.
O documento descreve o período Pré-Modernista no Brasil entre 1902 e 1922. Neste período, autores como Euclides da Cunha, Graça Aranha e Monteiro Lobato começaram a retratar a realidade brasileira de forma crítica e regionalista, rompendo com a literatura romântica do passado e se inspirando nas vanguardas européias. Foi um período de transição para o Modernismo brasileiro.
Wassily Kandinsky foi um pintor russo considerado o criador da arte abstrata. Ele passou a infância na Rússia e na Ucrânia e estudou Direito, mas desistiu para se dedicar à pintura. Mudou-se para Munique em 1896 e foi um dos fundadores da Sociedade Artística Phalanx. Suas obras pioneiras incluem O Cavaleiro Azul (1903) e Composição VII (1913), marcando a transição para a abstração pura através do uso de formas geométricas e cores.
Rachel de Queiroz foi a primeira mulher eleita para a Academia Brasileira de Letras. Ela foi escritora, jornalista, romancista, cronista, tradutora e teatróloga. Seu primeiro romance "O Quinze" retratou a seca no Ceará em 1915 e ganhou um prêmio literário.
O documento descreve o movimento artístico cubismo, com ênfase em suas principais características, fases e artistas. Resume as obras seminais de Picasso e Braque que deram início ao cubismo, assim como suas três fases principais: pré-analítico, analítico e sintético. Apresenta também influências do cubismo na obra de artistas brasileiros como Tarsila do Amaral e Vicente do Rego Monteiro.
O documento discute arte ambiental e como ela pode abordar questões ecológicas de várias formas, incluindo sensibilização para a natureza, investigação de fenômenos naturais usando materiais encontrados na natureza, e criação de obras que não contribuam para a degradação ambiental. Também apresenta dois artistas, Frans Krajcberg, que cria esculturas com árvores queimadas para protestar contra queimadas, e Alexandre Orion, que faz arte usando a poluição urbana como matéria-prima.
1. O documento resume a obra Dom Casmurro de Machado de Assis, focando na biografia do autor, na história, personagens e análise da possível traição da personagem Capitu.
2. Há debates entre leitores sobre se Capitu traiu ou não Bentinho, com interpretações diferentes do texto e indícios apresentados.
3. O enigma sobre a traição nunca é resolvido definitivamente, refletindo a ambiguidade e complexidade da obra de Machado de Assis.
Este documento fornece instruções passo a passo para construir um compilador de análise léxica usando o software FLEX. Ele explica como baixar os arquivos necessários, instalar o FLEX e MinGW, examinar exemplos iniciais, compilar os arquivos de exemplo usando FLEX e MinGW, e testar o resultado.
O documento descreve como construir um compilador utilizando ferramentas Java. Ele aborda os principais componentes de um compilador como analisador léxico, analisador sintático, analisador semântico e gerador de código, e como cada um desses componentes é implementado para analisar uma linguagem e gerar código de máquina.
1) O Fauvismo foi um movimento artístico de curta duração no início do século XX caracterizado pela utilização de cores vivas e contrastantes.
2) Liderado por Henri Matisse, o movimento rejeitava a perspectiva acadêmica em favor de formas simplificadas e do tratamento intuitivo do espaço.
3) Os fauvistas usavam cores puras em grandes manchas para transmitir emoções e exaltar a sensualidade e sugestão da cor.
1) O documento descreve a origem e evolução do cinema desde sua invenção pelos irmãos Lumière até se tornar uma indústria com códigos próprios.
2) Detalha pioneiros como Méliès e Griffith e como o cinema rapidamente evoluiu de curtas filmagens para ficção e documentários.
3) Aponta grandes diretores que usaram o cinema para servir movimentos artísticos e ideológicos diferentes.
Sebastião Salgado é um fotógrafo brasileiro reconhecido internacionalmente por seu trabalho retratando as mazelas do mundo. Formou-se em economia mas trocou a carreira pelo fotografia após viajar para a África. Ao longo de sua carreira, viajou pelo mundo tirando fotos preto e branco da humanidade e recebeu muitos prêmios importantes de fotografia.
CAP 4. O cinema - setima arte e construçao do objeto em movimento.pptxTATE9
O documento discute o cinema como forma de arte, mencionando a experiência cinematográfica, os gêneros e a evolução técnica do cinema, desde o cinema mudo até os efeitos visuais modernos. Inclui também detalhes sobre planejamento, produção e edição de filmes.
Este documento discute as técnicas de encenação no cinema, como a posição dos atores, ângulos de câmera, iluminação e movimentos. Explora esquemas convencionais como "levanta-e-fala" e "anda-e-fala" e como direcionar a luz para criar diferentes efeitos visuais e emocionais. Também discute como a encenação pode contar histórias e provocar suspense de maneiras variadas.
O documento discute o movimento literário do Realismo no século XIX. Apresenta as características desse movimento como a negação da arte pela arte e a representação objetiva da realidade. Também discute a influência do Realismo em Portugal e no Brasil, com ênfase na crítica social presente nos romances realistas brasileiros.
Os irmãos Lumière inventaram o cinematógrafo e realizaram o primeiro filme da história. Ao longo dos anos, o cinema evoluiu de peças de teatro filmadas para filmes sonoros em Hollywood. Grandes diretores como David Griffith e Orson Welles ajudaram a estabelecer o cinema como uma forma de arte.
O documento descreve a evolução da captura e reprodução do movimento através da história, desde desenhos de animais em cavernas até as invenções da câmara escura, lanterna mágica, folioscópio e cinetoscópio. Destaca Eadward Muybridge que capturou imagens em sequência de um cavalo galopando e os irmãos Lumière que projetaram o primeiro filme em 1895, marcando o início do cinema.
O documento descreve o que é uma caricatura, como exagera características físicas de uma pessoa de forma divertida sem ser um retrato fiel. Também salienta hábitos e gestos da pessoa. Fornece dicas para desenhar caricaturas, como escolher uma imagem nítida, exagerar contornos com circunferências, fazer rascunhos completos antes de detalhes, aplicar luz e sombra.
O documento descreve o estilo Barroco no Brasil, desde seu desenvolvimento entre os séculos XVII e XIX até suas principais características arquitetônicas e artísticas nas diferentes regiões brasileiras. O Barroco variou entre regiões mais ricas com igrejas luxuosas e regiões pobres com construções modestas. O documento também destaca importantes artistas como Aleijadinho e suas obras em Congonhas do Campo.
O documento descreve características da literatura romântica no Brasil, incluindo a poesia e a prosa do período. A natureza é vista como reflexo do eu interior e há uma valorização da espiritualidade e religiosidade. A prosa inclui romances históricos, indianistas e regionais. Autores importantes como Gonçalves de Magalhães, Álvares de Azevedo, Castro Alves, José de Alencar e Joaquim Manuel de Macedo são discutidos.
Desde as sombras chinesas até aos irmãos Lumière, o homem procurou formas de captar e projetar o movimento, culminando na invenção do cinema. Georges Méliès transformou a fotografia animada numa arte através de efeitos especiais. Nos Estados Unidos, Hollywood tornou-se o centro da indústria cinematográfica, popularizando gêneros como comédia e western e criando o sistema de estrelas.
O cubismo se originou na obra de Paul Cézanne e representava objetos com todas as suas partes num mesmo plano, sem fidelidade à aparência real. Dividiu-se em cubismo analítico, caracterizado pela desestruturação em elementos, e cubismo sintético, que procurou tornar figuras reconhecíveis novamente. Picasso e Braque foram expoentes do cubismo analítico, enquanto o movimento também influenciou artistas brasileiros como Tarsila do Amaral e Anita Malfatti.
Cildo Meireles é um artista conceitual brasileiro reconhecido internacionalmente por suas obras políticas que instigam reflexão. Suas principais características incluem usar diversos materiais e técnicas para questionar aspectos sociais, e buscar provocar emoção no espectador de forma breve. Sua trajetória inclui participações em importantes eventos internacionais e o desenvolvimento de obras conceituais complexas que abordam temas como a ditadura militar brasileira.
O documento descreve o período Pré-Modernista no Brasil entre 1902 e 1922. Neste período, autores como Euclides da Cunha, Graça Aranha e Monteiro Lobato começaram a retratar a realidade brasileira de forma crítica e regionalista, rompendo com a literatura romântica do passado e se inspirando nas vanguardas européias. Foi um período de transição para o Modernismo brasileiro.
Wassily Kandinsky foi um pintor russo considerado o criador da arte abstrata. Ele passou a infância na Rússia e na Ucrânia e estudou Direito, mas desistiu para se dedicar à pintura. Mudou-se para Munique em 1896 e foi um dos fundadores da Sociedade Artística Phalanx. Suas obras pioneiras incluem O Cavaleiro Azul (1903) e Composição VII (1913), marcando a transição para a abstração pura através do uso de formas geométricas e cores.
Rachel de Queiroz foi a primeira mulher eleita para a Academia Brasileira de Letras. Ela foi escritora, jornalista, romancista, cronista, tradutora e teatróloga. Seu primeiro romance "O Quinze" retratou a seca no Ceará em 1915 e ganhou um prêmio literário.
O documento descreve o movimento artístico cubismo, com ênfase em suas principais características, fases e artistas. Resume as obras seminais de Picasso e Braque que deram início ao cubismo, assim como suas três fases principais: pré-analítico, analítico e sintético. Apresenta também influências do cubismo na obra de artistas brasileiros como Tarsila do Amaral e Vicente do Rego Monteiro.
O documento discute arte ambiental e como ela pode abordar questões ecológicas de várias formas, incluindo sensibilização para a natureza, investigação de fenômenos naturais usando materiais encontrados na natureza, e criação de obras que não contribuam para a degradação ambiental. Também apresenta dois artistas, Frans Krajcberg, que cria esculturas com árvores queimadas para protestar contra queimadas, e Alexandre Orion, que faz arte usando a poluição urbana como matéria-prima.
1. O documento resume a obra Dom Casmurro de Machado de Assis, focando na biografia do autor, na história, personagens e análise da possível traição da personagem Capitu.
2. Há debates entre leitores sobre se Capitu traiu ou não Bentinho, com interpretações diferentes do texto e indícios apresentados.
3. O enigma sobre a traição nunca é resolvido definitivamente, refletindo a ambiguidade e complexidade da obra de Machado de Assis.
Este documento fornece instruções passo a passo para construir um compilador de análise léxica usando o software FLEX. Ele explica como baixar os arquivos necessários, instalar o FLEX e MinGW, examinar exemplos iniciais, compilar os arquivos de exemplo usando FLEX e MinGW, e testar o resultado.
O documento descreve como construir um compilador utilizando ferramentas Java. Ele aborda os principais componentes de um compilador como analisador léxico, analisador sintático, analisador semântico e gerador de código, e como cada um desses componentes é implementado para analisar uma linguagem e gerar código de máquina.
O documento descreve as principais etapas de um compilador, incluindo a geração de código intermediário, geração de código objeto, otimização de código e gerenciamento de tabelas de símbolos. O código intermediário representa o programa em uma forma independente da máquina e pode ser otimizado antes de ser traduzido para código de máquina. A geração de código objeto mapeia o código intermediário para instruções da máquina-alvo.
Compilador-Analisador Léxico com FLEX + Linguagem C Aldisio Medeiros
O documento discute o analisador léxico, incluindo tokens, padrões e lexemas. Ele também cobre a estrutura de um analisador léxico em C e como simular a busca de símbolos em uma tabela de símbolos usando tabelas hash.
Este documento fornece um resumo da linguagem de programação C. Apresenta seu contexto histórico, características, tipos de dados, estruturas de controle de fluxo e outras construções importantes da linguagem.
Lex is a computer program that generates lexical analyzers ("scanners" or "lexers"). Lex is commonly used with the yacc parser generator. Lex, originally written by Mike Lesk and Eric Schmidt and described in 1975, is the standard lexical analyzer generator on many Unix systems, and a tool exhibiting its behavior is specified as part of the POSIX standard. The computer program Yacc is a LALR parser generator developed by Stephen C. Johnson at AT&T Corporation for the Unix operating system in 1970. The name is an acronym for "Yet Another Compiler Compiler". It generates a parser, the part of a compiler that tries to make syntactic sense of the source code, specifically a LALR parser, based on an analytic grammar written in a notation similar to BNF.
Este documento descreve como construir um interpretador de expressões aritméticas simples utilizando o JavaCC e o JJTree para gerar a árvore sintática. A estratégia envolve:
1. Construir um analisador sintático para expressões aritméticas com o JavaCC;
2. Utilizar o JJTree para gerar automaticamente a árvore sintática;
3. Anotar a árvore gerada com valores e operações para permitir a avaliação das expressões.
1. O documento descreve a construção de um analisador léxico para a linguagem C++.
2. É apresentada uma introdução sobre linguagens de programação, níveis de linguagem e características da linguagem C++.
3. São definidos os componentes lexicais da linguagem C++, incluindo palavras-chave, tipos de dados, operadores e caracteres especiais.
Este documento fornece instruções para implementar um compilador dividido em 4 etapas: 1) Análise léxica e sintática com inserção na tabela de símbolos, 2) Geração de código intermediário, 3) Otimizações simples, 4) Geração de código assembly. A análise léxica reconhece tokens como palavras-chave e operadores, enquanto a análise sintática define regras gramaticais. Um conflito de precedência no if/else é resolvido atribuindo maior precedência
Este documento discute gramáticas livres de contexto (GLC) e a forma de Backus-Naur (BNF) para definir linguagens formais. Em três frases:
1) GLCs e BNFs são maneiras de definir linguagens de programação usando não-terminais, produções e símbolos terminais.
2) A BNF introduz operadores como seleção, opcionalidade e repetição para dar mais flexibilidade na definição de produções.
3) Grafos sintáticos representam as gramáticas visivelmente e mostram os caminhos poss
O documento descreve o Java Compiler Compiler (JavaCC), um gerador de parsers para a linguagem Java. JavaCC recebe como entrada uma especificação de gramática e gera um parser para reconhecer aquela gramática. Explica como escrever gramáticas no formato JavaCC, incluindo definições léxicas, produções e ações semânticas.
Este documento apresenta o gabarito oficial definitivo de uma prova chamada POSCOMP 2010, com as alternativas corretas para cada uma das 70 questões, além de correções feitas em 3 questões.
[TUTORIAL] PetitParser
First Name: Jan
Last Name: Kurs
Type: Tutorial
Video1: https://www.youtube.com/watch?v=HQswKmwkuhk
Video2: https://www.youtube.com/watch?v=vzcJfWU832w
Abstract: PetitParser is PEG-based parser combinator framework utilizing scannerless parsing and packrat parsing. PetitParser makes it easy to define parsers with Smalltalk code and to dynamically reuse, compose, transform and extend grammars. Recently, PetitParser was extended in two areas:
1) parsing context sensitive and indentation sensitive grammars; and
2) parsing imprecisely or incompletely specified grammars (island parsing).
In this tutorial we will show how to quickly develop an island parser of an indentation sensitive language using the PetitParser framework.
Bio:
I am a PhD candidate at the Software Composition Group, University of Bern since 2012. My research interest is in model extraction and parsing technologies.
Este documento descreve as instruções para a realização do Exame Nacional para Ingresso na Pós-Graduação em Computação (POSCOMP 2011), que ocorrerá no dia 9/10/2011. O exame terá duração de 4 horas e conterá 70 questões objetivas de múltipla escolha. Os candidatos deverão assinar o cartão-resposta e não poderão utilizar livros ou comunicar-se durante a prova.
Este documento apresenta o gabarito oficial definitivo de uma prova chamada POSCOMP 2011, com as alternativas corretas para cada uma das 70 questões e informações sobre mudanças nos gabaritos das questões 18 e 35.
Este documento fornece um resumo introdutório sobre análise sintática. Discute tópicos como reconhecimento de sentenças, derivações canônicas, árvores sintáticas, gramáticas ambíguas e analisadores sintáticos como autômatos de pilha e analisadores preditivos. O objetivo é apresentar os principais conceitos e técnicas relacionados à validação automática de sentenças de acordo com uma gramática formal.
This document discusses JavaScript libraries and frameworks. It provides an overview of some popular options like jQuery, Prototype, Dojo, MooTools, and YUI. It explains why developers use libraries, such as for faster development, cross-browser compatibility, and animation capabilities. The document also discusses how libraries resemble CSS and use selector syntax. Basic examples are provided to demonstrate common tasks like hover effects and row striping. Factors for choosing a library are outlined like maturity, documentation, community, and licensing. The document concludes by explaining how to obtain library code from project websites or Google's AJAX Libraries API.
O documento discute os conceitos de compiladores, interpretadores e linkagem no contexto da programação. Explica que compiladores transformam programas de alto nível em código de máquina, enquanto interpretadores fazem isso linha a linha. A linkagem une código objeto e bibliotecas para criar programas executáveis.
O documento descreve o que é um compilador, suas principais características e etapas. Um compilador converte código-fonte escrito em uma linguagem de programação de alto nível para uma linguagem de baixo nível, como assembly ou código de máquina. As principais etapas de um compilador incluem análise léxica, análise sintática, geração de código intermediário e geração de código final. O compilador verifica a sintaxe e semântica do código-fonte e o otimiza para gerar
055 A 094 Material Auxiliar Para Curso AvançAdo I Msp430Texas Instruments
O documento fornece uma breve introdução à linguagem de programação C, descrevendo sua história desde a criação no início dos anos 1970, o desenvolvimento das especificações K&R C e ANSI C, e as principais características da linguagem.
O documento descreve o .NET Framework, incluindo: (1) O CLR executa código intermediário MSIL em várias linguagens; (2) O CTS fornece tipos comuns entre linguagens; (3) A metadata contém informações sobre componentes .NET em vez de registro.
1) O documento descreve o .NET Framework, incluindo o Common Language Runtime (CLR), que executa várias linguagens de programação, e o Common Type System (CTS), que fornece tipos comuns entre linguagens. 2) O CLR também gerencia a memória através do Garbage Collector (GC), liberando os desenvolvedores dessa tarefa. 3) Assemblies são usados para empacotar aplicativos e componentes .NET, resolvendo problemas de versões de bibliotecas.
O documento fornece uma introdução ao .NET Framework, abordando tópicos como CLR, Metadata, Assemblies, CTS, CLS, MSIL e outras tecnologias fundamentais da plataforma .NET.
Uma breve história do GCC: O GCC foi criado por Richard Stallman em 1984 para permitir a criação de um sistema operacional livre baseado em Unix. Desde então, o GCC evoluiu para compilar C, C++ e outras linguagens, e tornou-se uma coleção de compiladores livres.
Principais funcionalidades do GCC: O GCC é um compilador portátil e de código aberto que permite compilar programas para diferentes plataformas. Ele possui uma arquitetura modular que permite adicionar novas linguagens e arquiteturas
O documento descreve a história e características da linguagem de programação C. Foi criada em 1972 por Dennis Ritchie para o sistema operacional Unix e padronizada pela ANSI em 1983. C é uma linguagem de baixo nível que oferece portabilidade entre sistemas e é usada em aplicações como sistemas operacionais e bancos de dados.
O documento discute a linguagem C voltada para controle de hardware. Apresenta conceitos básicos como operadores bit a bit e funções para leitura e escrita em hardware. Também demonstra programas exemplos para controlar mouse, porta paralela, porta serial e configurar a COM1.
O documento discute a linguagem C voltada para controle de hardware. Apresenta conceitos básicos como operadores bit a bit e funções para leitura e escrita em hardware. Também mostra exemplos de programação para controlar dispositivos como mouse, porta paralela e serial, ilustrando o uso da linguagem C para este fim.
O documento discute conceitos de linguagens de programação, incluindo interpretação pura, interpretação híbrida e ambientes de programação. Ele explica que a interpretação pura executa programas diretamente sem compilação, enquanto sistemas híbridos geram código intermediário para melhor desempenho. Também descreve ferramentas comuns em ambientes de programação como editores de texto e depuradores.
O documento discute programação de software livre em C, abordando tópicos como a longevidade da linguagem C, a suíte de compiladores GNU, como criar um projeto de exemplo e distribuí-lo, e as oportunidades de mercado para profissionais de C.
Android Core Aula 1 - Histórico, Arquitetura e Compilação da plataformaFelipe Silveira
Android é um sistema operacional móvel desenvolvido pelo Google. Possui código aberto e é composto por:
- Sistema operacional baseado no Linux
- Plataforma de desenvolvimento de aplicativos
- Aplicativos padrão como SMS, Maps e Calendar
Este documento apresenta uma introdução à linguagem de programação C. Ele discute conceitos básicos como estrutura de um programa C, tipos de dados, entrada e saída de dados, operadores e estruturas de decisão. O documento também fornece exemplos de código C para ilustrar esses conceitos.
Este documento fornece um resumo sobre a linguagem de programação C. O documento apresenta um curso introdutório sobre C, abordando seus fundamentos, características, histórico e estrutura básica de um programa em C.
O documento descreve o .NET Framework e a linguagem C#. O .NET Framework fornece um ambiente de programação orientado a objetos, executação consistente entre plataformas, e segurança. A linguagem C# é projetada para o .NET Framework e oferece tipos de variáveis, operadores, comandos de controle de fluxo e tratamento de erros.
ESLPE 2008 - Desenvolvendo aplicações no LinuxJorge Pereira
Em três frases ou menos:
1) O documento apresenta as ferramentas e possibilidades disponíveis para programação em ambiente Linux, comparando com o ambiente Windows.
2) Ele discute linguagens, editores, compiladores e bibliotecas de programação gráfica como GTK e Qt disponíveis no Linux.
3) O documento também mostra exemplos de código em C e PHP utilizando a biblioteca gráfica GTK.
C# é uma linguagem de programação orientada a objetos derivada de C/C++ que faz parte da plataforma .NET da Microsoft. A linguagem possui recursos como coleta de lixo automática e tratamento de exceções que auxiliam na construção de softwares robustos. O documento apresenta os conceitos básicos de C# e mostra como escrever um programa "Olá Mundo" nesta linguagem.
1. O documento descreve as principais novidades da versão 10.3 do RAD Studio, incluindo melhorias na IDE, linguagens Delphi e C++, frameworks VCL e FireMonkey e bibliotecas RTL.
2. Entre os destaques estão o suporte a C++17, melhorias no suporte multiplataforma para Android e iOS, aprimoramentos na interface do usuário da IDE e refatorações na biblioteca RTL.
3. A versão 10.3 também traz novos recursos para Delphi, como declarações inline de variáveis, e expande o suporte
O documento introduz os principais paradigmas de programação e conceitos básicos de implementação de linguagens de programação, discutindo a motivação para o estudo de linguagens de programação e definindo o que é uma linguagem de programação.
Este documento apresenta um projeto de pesquisa sobre a análise do desempenho do sistema 3G em aplicações de posicionamento GPS na plataforma Android. O objetivo principal é medir os tempos de requisição e recebimento de dados usando a rede 3G em diferentes locais. O projeto envolve o desenvolvimento de um aplicativo Android, testes de posicionamento e análise dos dados coletados.
O documento discute as áreas de computação, programação e o futuro da tecnologia. Apresenta os principais cursos de computação, como ciência da computação, engenharia da computação e sistemas de informação. Explica os conceitos básicos de programação como conjunto de dados, processamento e resultados. Encoraja o aprendizado contínuo de inglês e persistência para trabalhar com tecnologia.
Este documento fornece instruções sobre elementos básicos de HTML e CSS, incluindo:
1) Como estruturar um documento HTML com tags como <html>, <head>, <title>, <body>;
2) Como formatar texto usando tags como <h1>-<h6>, <b>, <i>, <u>, <br>;
3) Como inserir imagens, links, listas, tabelas e formulários;
4) Uma introdução aos estilos CSS externos, incorporados e inline.
Este documento fornece instruções sobre elementos básicos de HTML e CSS, incluindo:
1) Como estruturar um documento HTML com tags como <html>, <head>, <title>, <body>;
2) Como formatar texto usando tags como <h1>-<h6>, <b>, <i>, <u>, <br>;
3) Como inserir imagens, links, listas e tabelas;
4) Noções básicas de CSS como criar folhas de estilo externas, internas e inline.
O documento apresenta três exercícios para um grupo de estudo de Java: 1) reorganizar trechos de código para produzir uma saída específica, 2) analisar arquivos Java e determinar se podem ser compilados, 3) criar um programa que lê entradas e produz saidas conforme exemplo fornecido.
La Unión Europea ha propuesto un nuevo paquete de sanciones contra Rusia que incluye un embargo al petróleo ruso. El embargo se aplicaría gradualmente durante seis meses para el petróleo crudo y ocho meses para los productos refinados. El objetivo es aumentar la presión sobre Rusia para que ponga fin a su invasión de Ucrania.
- JavaDTV is a specification for interactive Java applications on digital TV developed jointly by Sun Microsystems and the Brazilian standards body SBTVD.
- The specification is based on Java ME profiles and extends them with APIs for digital TV functionality. It allows development of rich interactive applications for areas like advertising, games, and information services.
- The specification has been deployed on set-top boxes in Brazil and applications are already being broadcast. Commercial implementations of Ginga-J based set-top boxes are expected by the end of 2009.
O documento fornece dicas sobre certificação Java, descrevendo os tipos de certificações disponíveis, como se preparar para elas e o que fazer no dia da prova. É destacado que é importante estudar todos os tópicos e não apenas aqueles em que se tem mais familiaridade, e que a experiência também conta.
O documento fornece dicas sobre certificação Java, descrevendo os tipos de certificações disponíveis, como se preparar para elas e o que fazer no dia da prova. É destacado que é importante estudar todos os tópicos e não apenas aqueles em que se tem mais familiaridade, e que a experiência também conta.
O documento apresenta uma introdução à tecnologia Java Card e cartões inteligentes. Resume os principais pontos sobre Java Card, como sua interoperabilidade, segurança e capacidade de múltiplos aplicativos. Também descreve brevemente as características e arquitetura dos cartões inteligentes e especificações da Java Card. Por fim, menciona a comunidade Open Source Meetup e formas de obter mais informações sobre o tema.
O documento apresenta os projetos e iniciativas da Sun Microsystems para estudantes e universidades brasileiras, incluindo treinamentos gratuitos online, descontos em certificações, e o evento "University Day" que será realizado em uma universidade local para promover as tecnologias Java.
Ricardo Chikasawa apresenta sobre Opensolaris no VirtualBox e história do Solaris e OpenSolaris. Ele discute o que é o VirtualBox, a história do Solaris e OpenSolaris, como o código do kernel Solaris foi aberto em 2005 como OpenSolaris, e as características e benefícios do OpenSolaris.
Ricardo Chikasawa apresentou sobre Opensolaris no VirtualBox e história do Solaris e OpenSolaris. Ele discutiu o que é o VirtualBox e OpenSolaris, a história do Solaris como um sistema operacional da Sun Microsystems e como o código do kernel foi aberto como OpenSolaris. Ele também falou sobre como instalar e experimentar o OpenSolaris 2008.05.
[1] O documento discute o OpenSolaris, um sistema operacional livre e de código aberto baseado no Solaris, e como ele pode ser instalado e experimentado usando o VirtualBox em uma máquina virtual.
[2] A história do Solaris e do OpenSolaris é descrita, com o Solaris originalmente sendo um sistema operacional proprietário da Sun e partes do código sendo liberadas sob uma licença de código aberto.
[3] As vantagens do OpenSolaris incluem tecnologias inovadoras como ZFS e D
A linguagem C# aproveita conceitos de muitas outras linguagens,
mas especialmente de C++ e Java. Sua sintaxe é relativamente fácil, o que
diminui o tempo de aprendizado. Todos os programas desenvolvidos devem
ser compilados, gerando um arquivo com a extensão DLL ou EXE. Isso torna a
execução dos programas mais rápida se comparados com as linguagens de
script (VBScript , JavaScript) que atualmente utilizamos na internet
As classes de modelagem podem ser comparadas a moldes ou
formas que definem as características e os comportamentos dos
objetos criados a partir delas. Vale traçar um paralelo com o projeto de
um automóvel. Os engenheiros definem as medidas, a quantidade de
portas, a potência do motor, a localização do estepe, dentre outras
descrições necessárias para a fabricação de um veículo
PRODUÇÃO E CONSUMO DE ENERGIA DA PRÉ-HISTÓRIA À ERA CONTEMPORÂNEA E SUA EVOLU...Faga1939
Este artigo tem por objetivo apresentar como ocorreu a evolução do consumo e da produção de energia desde a pré-história até os tempos atuais, bem como propor o futuro da energia requerido para o mundo. Da pré-história até o século XVIII predominou o uso de fontes renováveis de energia como a madeira, o vento e a energia hidráulica. Do século XVIII até a era contemporânea, os combustíveis fósseis predominaram com o carvão e o petróleo, mas seu uso chegará ao fim provavelmente a partir do século XXI para evitar a mudança climática catastrófica global resultante de sua utilização ao emitir gases do efeito estufa responsáveis pelo aquecimento global. Com o fim da era dos combustíveis fósseis virá a era das fontes renováveis de energia quando prevalecerá a utilização da energia hidrelétrica, energia solar, energia eólica, energia das marés, energia das ondas, energia geotérmica, energia da biomassa e energia do hidrogênio. Não existem dúvidas de que as atividades humanas sobre a Terra provocam alterações no meio ambiente em que vivemos. Muitos destes impactos ambientais são provenientes da geração, manuseio e uso da energia com o uso de combustíveis fósseis. A principal razão para a existência desses impactos ambientais reside no fato de que o consumo mundial de energia primária proveniente de fontes não renováveis (petróleo, carvão, gás natural e nuclear) corresponde a aproximadamente 88% do total, cabendo apenas 12% às fontes renováveis. Independentemente das várias soluções que venham a ser adotadas para eliminar ou mitigar as causas do efeito estufa, a mais importante ação é, sem dúvidas, a adoção de medidas que contribuam para a eliminação ou redução do consumo de combustíveis fósseis na produção de energia, bem como para seu uso mais eficiente nos transportes, na indústria, na agropecuária e nas cidades (residências e comércio), haja vista que o uso e a produção de energia são responsáveis por 57% dos gases de estufa emitidos pela atividade humana. Neste sentido, é imprescindível a implantação de um sistema de energia sustentável no mundo. Em um sistema de energia sustentável, a matriz energética mundial só deveria contar com fontes de energia limpa e renováveis (hidroelétrica, solar, eólica, hidrogênio, geotérmica, das marés, das ondas e biomassa), não devendo contar, portanto, com o uso dos combustíveis fósseis (petróleo, carvão e gás natural).
Em um mundo cada vez mais digital, a segurança da informação tornou-se essencial para proteger dados pessoais e empresariais contra ameaças cibernéticas. Nesta apresentação, abordaremos os principais conceitos e práticas de segurança digital, incluindo o reconhecimento de ameaças comuns, como malware e phishing, e a implementação de medidas de proteção e mitigação para vazamento de senhas.
1. Compilador GCC
Prof. Dr. Almir Camolesi
15 de Setembro Ricardo L. Chikasawa
Disciplina: Compiladores
2. Introdução
Compilador
− Importância do Compilador e das Linguagens de programação
− Definição de um compilador
O Compilador GCC
− História
− O compilador e suas versões
− Exemplos de código fonte
− Estrutura e funcionamento
− Demo
15 de Setembro Compilador GCC
3. Compilador
Importância do Compilador
Os compiladores são ferramentas indispensáveis para programação. Pode-
se dizer que sem ele, seria quase impossível desenvolver programas muito
complexos.
As linguagens de programação de alto nível são projetadas para que
possam ser mais facilmente entendidas por programadores humanos. Elas
permitem ao programador expressar suas intenções mais facilmente, escrever
programas mais organizados e com mais rapidez do que se tivessem que
escrever os programas diretamente em código de máquina (linguagens de
baixo nível).
O compilador por sua vez, traduz um código fonte escrito numa linguagem
de alto nível (Ex: C/C++, Pascal, etc...), em um código alvo semanticamente
equivalente, escrito em código de máquina (Ex: Assembly). Esse código alvo
será enfim lido pela máquina e executado.
15 de Setembro Compilador GCC
5. GCC
História
O compilador GCC foi escrito por
Richard Stallman em 1987 para
servir de compilador para o Projeto
GNU.
GCC é uma abreviação do termo
GNU Compiler Collection. Ele leva
este nome pelo fato de que várias
versões do compilador estão
integradas, com suporte a
linguagens como C, C++, Objective-
C, Ada, Fortran, Java e Treelang.
15 de Setembro Compilador GCC
6. GCC
Principais características
Software Livre (GPL)
Desenvolvimento de processo Distribuido
Multiplataforma (Unix, Windows,Mac Os, Solaris)
Suportando a maioria das linguagens : C, C++, Java, Fortran 95,
Ada, Objective-C, Objective-C++, etc
Processadores suportados pelo GCC inclui: ARM, x86 e x86-64,
PowerPC, SPARC
15 de Setembro Compilador GCC
7. GCC
O compilador
É o compilador padrão do sistema operacional GNU/Linux e
também foi adotado por (ou portado para) vários outros sistemas
operacionais (inclusive S.O.s comerciais pagos), tais como HP-UX,
MS-Windows, MS-DOS, IBM OS2, IBM AIX, SUN OS, SUN Solaris etc,
além é claro do próprio GNU/Linux, onde este compilador é utilizado no
desenvolvimento do próprio sistema operacional e de todas as
ferramentas nele disponíveis (ou seja, é o compilador 'nativo' do
Linux).
Outro detalhe importante é que todas as distribuições Linux já vem
com um compilador GCC disponível, ou seja, se você tem um
computador com Linux instalado, você tem um compilador GCC pronto
para ser utilizado.
15 de Setembro Compilador GCC
8. Versões GCC
GCC 1 (1987)
− Inspirado no Compilador Pastel (Lawrence Livermore Labs)
− Compilava somente C
GCC 2 (1992)
− Adicionou C++
− Suporte a arquitetura RISC
EGCS (1997)
− Fork from GCC 2.x
− Novas Características: Java, novas otimizações
15 de Setembro Compilador GCC
9. Versões GCC
GCC 2.95 (1999)
− EGCS e GCC2 fudem o GCC
− Baseado no tipo de Análise
− Front end
− ISO C99
GCC 3 (2001)
− Integrabilidade libjava
− SSA, fase experimental formato de RTL
− Funções com árvores
GCC 4 (2005)
− Revisão da arquitetura interna (Árvore SSA)
− Fortran 95
− Vetorização Automática
15 de Setembro Compilador GCC
10. GCC
(Windows x Linux)
MinGW (Minimalist GNU for Windows)
Foi criado por Colin Peters em 1998. Ele usou uma versão muito inicial da suíte do
Cygwin para compilar a primeira versão do código do compilador MinGW.
É uma versão portada para Microsoft Windows do conjunto de ferramentas GNU (a
mesma instalada pelo ambiente Dev-C++ ou pelo CodeBlocks). Oferece um completo
conjunto de ferramentas Open Source de programação, apropriado para o
desenvolvimento de aplicativos nativos MS-Windows.
Code::Blocks é um ambiente integrado de desenvolvimento para as linguagens C e
C++. Ele usa a implementação MinGw do GCC (GNU Compiler Collection) como seu
compilador. Ele é "Free Software" (sob GNU General Public License).
Em 1999, a base de usuários do MinGW tornou-se grande o suficiente, para se
separar da “Cygwin mailing list”, e configurar ela própria uma lista de discussão
moderada pelo Earnie Boyd e Handerson Dale.
15 de Setembro Compilador GCC
11. GCC
(Windows x Linux)
O MinGW inclui:
• Uma porta do GNU Compiler Collection (GCC), incluindo compiladores C, C+
+, ADA e Fortran.
• GNU Binutils (coleção de ferramentas binárias) para Windows, ou seja,
vinculador, gerente de arquivo.
• MSYS, que é uma coleção de utilitários GNU, para permitir a construção de
aplicações e programas que dependem de instrumentos tradicionais do UNIX
para estar presente. Oferecido como uma alternativa para o cmd.exe da
Microsoft.
• Comunidade de apoio, ferramentas e bibliotecas (mingwPORTs).
• Um gráfico e um instalador de linha de comando para o Windows.
• Cross-compiladores para construir aplicações Windows em outras plataformas
(por exemplo, Linux).
15 de Setembro Compilador GCC
14. GCC
Funcionamento
Quando o GCC é invocado, ele
normalmente realiza quatro
etapas para gerar o executável:
pré-processamento, compilação,
montagem e ligação, sempre
nesta ordem.
Os primeiros três estágios
aplicam-se a um único arquivo
fonte, e encerram produzindo um
arquivo objeto.
15 de Setembro Compilador GCC
15. GCC
Fases da compilação
Pré-processamento: Esta etapa é responsável pela resolução de diretrizes
do pré-processador, como #define, #if, #include. Nesta fase, o GCC utiliza o
utilitário cpp.
Compilação: Nesta fase é gerada, a partir da fase anterior, o código
Assembly do programa.
Montagem: Produz o arquivo objeto .o, levando em conta a linguagem de
montagem dos arquivos de entrada. Nesta etapa, o GCC utiliza o utilitário
gas (GNU Assembler), ou o montador nativo as, caso ele não esteja
disponível.
Ligação: Nesta fase os arquivos .o e as bibliotecas são colocadas no
executável. O utilitário usado nessa fase é o ld (GNU Linker).
15 de Setembro Compilador GCC
17. GCC
Estrututra do Compilador
Front End: responsável por validar a estrutura sintática do programa de entrada,
emitir diagnósticos mais precisos sobre a conformidade linguagem, criando
estruturas de dados internas para tipos de dados e variáveis declaradas no
programa, as informações de depuração, como nomes de arquivo e números de
linha.
Middle End: responsável em analisar e transformar o programa. Todas as
transformações feitas no Middle End e no back-end geralmente têm dois objetivos:
• Tornar o código-objeto eficiente, rápido quanto possível (otimizações de desempenho).
• Tornar o código-objeto ter o mínimo de espaço possível (otimizações de espaço).
Back End: Nesta fase, o compilador precisa ter um conhecimento muito detalhado
sobre o hardware onde o programa será executado.
15 de Setembro Compilador GCC
18. GCC
Static Sigle Assignment (SSA)
Suporte para vetoriazação automática
Apresenta duas novas representações intermediárias: Generic e Gimple
SSA são convertida em RTL, usada pelo back-end para a geração de
código de destino
15 de Setembro Compilador GCC
19. GCC
Static Sigle Assignment (SSA)
GENERIC: é uma linguagem usada para definir a representação intermédiaria
do código usada por todas as fachadas do GCC.
GIMPLE: gerada a partir da forma GENERIC, permite muitas otimizações
globais independentes de linguagem e da arquitetura.
Estes dois processos intermediários de otimização na árvore tem sido
chamado de Middle-end e incluem:
• Propagação de constantes
• Eliminação de código morto
• Eliminação de redundância
• Alocação de registradores
15 de Setembro Compilador GCC
20. GCC
Otimização de Código
Otimizador de código, deixando o código mais rápido e compacto
Uma fase de recarga altera os registradores abstratos para
registradores reais, com base nos padrões de descrição dos conjuntos
de instruções da máquina alvo.
15 de Setembro Compilador GCC
21. GCC
Open MP
Programação Paralela
Suporta multi-plataforma
Memória compartilhada
15 de Setembro Compilador GCC
22. GCC - Demo
Programa:
#include <stdio.h> int main (void)
{
double test_loop(double d, unsigned n) double soma = 0.0;
{ unsigned i;
double x = 1.0; for (i = 1; i <= 100000000; i++)
unsigned j; {
for (j = 1; j <= n; j++) x *= d; soma += test_loop(i, i % 5);
return x; }
} printf ("s = %gn", soma);
return 0;
}
15 de Setembro Compilador GCC
23. GCC - Demo
Primeiro teste : Quarto teste:
gcc -Wall -O0 test.c -lm gcc -Wall -O3 test.c -lm
time ./a.out time ./a.out
Segundo teste:
Quinto teste:
gcc -Wall -O1 test.c -lm
time ./a.out gcc -Wall -O3 -funroll-loops test.c -lm
time ./a.out
Terceito teste:
gcc -Wall -O2 test.c -lm Sexto teste:
time ./a.out
gcc -fdump-tree-<generic> test.c
15 de Setembro Compilador GCC
24. Conclusão
Nós concluimos que o GCC é uma peça fundamental em quaisquer
desenvolvimento de software livre e de software fechado. Ele funciona
como ativador das arquiteturas e dos sistemas operacionais. Quando um
novo processador aparace, seu êxito depende de uma versão GCC que
irá fornecer suporte a ele.
Além de ser robusto, tem diversas ferramentas para sistema
distribuídos, onde hoje tudo é interligado a uma rede.
Por ser aberto, todos tem a oportunidade de evoluir e contrubuir
com o projeto da GNU.
15 de Setembro Compilador GCC
25. Bibliografia
• História do compilador : http://www.economicexpert.com/a/Compiler.html
• Tags de Otimização: http://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html
• Pesquisa ranking dos linguagem mais utilizado:
http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html
• Compilador IBM http://www.ibm.com/developerworks/br/library/l-gcc4/
• Wiki:
http://en.wikibooks.org/wiki/GNU_C_Compiler_Internals/GNU_C_Compiler_Architecture_3_4
• GNU GCC http://gcc.gnu.org/wiki/HomePage
• Docs GNU http://gcc.gnu.org/onlinedocs/cpp/
• Otimização Gcc: http://www.clevitonmendes.blogspot.com/2008/06/opes-de-otimizao-do-
gcc.html
15 de Setembro Compilador GCC
26. Bibliografia
• UNIVERSIDADE DE LISBOA -FACULDADE DE CIÊNCIAS DEPARTAMENTO DE
INFORMÁTICA, Ferramenta de Análise de Código para Detecção de Vulnerabilidades Emanuel
Pedro Loureiro Teixeira MESTRADO EM ENGENHARIA INFORMÁTICA-Setembro de 2007
• An Introduction to GCC , Brian Gough Foreword by Richard M. Stallman
• Livro Introdução GCC online : http://www.network-theory.co.uk/gcc/intro/
• Códido fonte do gcc: http://www.network-theory.co.uk/gcc/intro/src/
• Slides do Diego Novillo , Google
15 de Setembro Compilador GCC