Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet



Documentos relacionados
Desenvolvendo Websites com PHP

Lógica de Programação

Iniciação à Informática

Procedimentos para Instalação do SISLOC

COMO GERAR UM ARQUIVO NÃO IDENTIFICADO NO TABWIN

IMPORTANTE: O sistema Off-line Dr.Micro é compatível com os navegadores Mozilla Firefox e Internet Explorer.

Manual de Instalação

Nota de Aula: Utilização da IDE Code::Blocks

Como Gerar documento em PDF com várias Imagens

Manual do Blogilo. Mehrdad Momeny Tradução: Marcus Gama

Despachante Express - Software para o despachante documentalista veicular DESPACHANTE EXPRESS MANUAL DO USUÁRIO VERSÃO 1.1

Revisão: Introdução. - Integração com o AutoManager; 1 Atualização de versão do banco de dados PostgreSQL

Procedimentos para Reinstalação do Sisloc

TUTORIAL: MANTENDO O BANCO DE DADOS DE SEU SITE DENTRO DO DOMÍNIO DA USP USANDO O SSH!

possível até impedir o funcionamento do Windows. Faz-scuidado redobrado ao ativar determinados recursos.

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - MILLENNIUM

Objetivo. Este documento tem como objetivo demonstrar o conceito, o processo de instalação e o funcionamento do SITEF (Tef dedicado).

O objetivo desta prática é ensinar como usar a máquina chamada computador visível ou vc0, um simulador de computador de von Neumann escrito em Java.

Linguagem e Técnicas de Programação I Programação estruturada e fundamentos da linguagem C

SECRETARIA DE ESTADO DA FAZENDA. Documento de Arrecadação Estadual DAE. Manual do Usuário. Versão SECRETARIA DE ESTADO DA FAZENDA

GUIA MUDANÇA E FORMATAÇÃO DE SERVIDOR - SLIM

atube Catcher versão 3.8 Manual de instalação do software atube Catcher

Tutorial Gerar arquivo PDF. Gerando um documento pdf com várias imagens 1- Inserir imagem no Word

3. No painel da direita, dê um clique com o botão direito do mouse em qualquer espaço livre (área em branco).

Microsoft Office PowerPoint 2007

Procedimentos para Instalação do Sisloc

DIFERENÇAS ENTRE FUNÇÃO E BLOCO FUNCIONAL; CRIAÇÃO DE FUNÇÃO / BLOCO FUNCIONAL; UTILIZAÇÃO NO LADDER; EXEMPLO DE BLOCO FUNCIONAL;

Scilab. Introdução ao Scilab. Como obter ajuda

INSTALAÇÃO DO CHEF FOODS NET

MANUAL DE INSTALAÇÃO DOS PROGRAMAS NOVA GIA DECLARAÇÃO DO SIMPLES PARA WINDOWS VISTA

LINGUAGEM C UMA INTRODUÇÃO

Atualizaça o do Maker

ROTEIRO DE INSTALAÇÃO

APOSTILA LINUX EDUCACIONAL

Manual de Administração

Noções de. Microsoft SQL Server. Microsoft SQL Server

Instruções de uso do TABNET. Linha, Coluna e Conteúdo

MANUAL DE FTP. Instalando, Configurando e Utilizando FTP

QualiQuantiSoft Versão 1.3c

PRINCÍPIOS DE INFORMÁTICA PRÁTICA OBJETIVO 2. BASE TEÓRICA. 2.1 Criando Mapas no Excel. 2.2 Utilizando o Mapa

2. INSTALAÇÃO E CONFIGURAÇÃO

Manual do Spectacle. Boudhayan Gupta Boudhayan Gupta Tradução: André Marcelo Alvarenga

ATENÇÃO: * Arquivos com tamanho superior a 500 KB NÃO SERÃO ACEITOS * SOMENTE serão aceitos documentos do formato: PDF

LP II Estrutura de Dados. Introdução e Linguagem C. Prof. José Honorato F. Nunes honorato.nunes@ifbaiano.bonfim.edu.br

SAIBA MAIS SOBRE O LINUX E DESCUBRA QUAL DISTRIBUIÇÃO É MELHOR PARA VOCÊ! CURSO

ProGriD. Manual de Instalação

Este tutorial está publicado originalmente em

02 - Usando o SiteMaster - Informações importantes

GUIA INTEGRA SERVICES E STATUS MONITOR

LICENCIAMENTO V14 USANDO REPRISE LICENSE MANAGER

Instalação - SGFLeite 1

Frente Loja Avanço (PAF-ECF) versão Rotina de Atualização Frente Avanço Windows

Manual de Administração

Guia de Instalação e Atualização do Sistema Podológico

Barra de ferramentas padrão. Barra de formatação. Barra de desenho Painel de Tarefas

MANUAL DE INSTALAÇÃO LUZ DO SABER

Sumário 1. SOBRE O NFGoiana DESKTOP Apresentação Informações do sistema Acessando o NFGoiana Desktop

CARTILHA DE ORIENTAÇÕES PARA USUÁRIOS DO HÁBIL EMPRESARIAL

Roteiro 3: Sistemas Linux arquivos e diretórios

Guia Sphinx: instalação, reposição e renovação

Programação de Computadores I. Conhecendo a IDE Code::Blocks

O Primeiro Programa em Visual Studio.net

Permissões de compartilhamento e NTFS - Parte 1

Manual de Instalação. Utilização

Tutorial de Instalação do Ambiente de Programação Dev-C++

Manual do Visualizador NF e KEY BEST

AULA 2: INTRODUÇÃO A LINGUAGEM DE C. Curso: Ciência da Computação Profª.: Luciana Balieiro Cosme

MANUAL DE INSTALAÇÃO 1) ORACLE VIRTUALBOX ; 2) MICROSOFT WINDOWS ; 3) SUMÁRIOS GENEPLUS.

Manual de Instalação ( Client / Server ) Versão 1.0

REP idx. Manual de integração com Ponto Secullum 4

NetEye Guia de Instalação

Cartilha da Nota Fiscal Eletrônica do Hábil Empresarial Profissional 7.0. Obrigado por usar nosso software! Koinonia Software Ltda.

Portaria Express 3.0

NOVO ASSINADOR DO PROJUDI

AP_ Conta Aplicativo para digitação e envio de contas médicas no padrão TISS

Manual Módulo Livro Caixa Livro Caixa Atualizada com a versão 1.3.0

OneDrive: saiba como usar a nuvem da Microsoft

Introdução ao Processamento de Imagens com o IRIS Por Rodolfo Barros

Manual de Instalação. SafeSign Standard (Para MAC OS 10.7)

INSTALAÇÃO DE SOFTWARES ÚTEIS EM ENGENHARIA CARTOGRÁFICA

ÍNDICE. 16/06/ :48 Leite Júnior

Banco de Dados Oracle 10g

ANDRÉ APARECIDO DA SILVA APOSTILA BÁSICA SOBRE O POWERPOINT 2007

Instalando e Configurando o LaTeX no Windows

Conhecendo o Computador

Manual do Sistema "Vida Controle de Contatos" Editorial Brazil Informatica

Manual para conversão de Teses e Dissertações em PDF

Curso técnico: Informática Disciplina: Aplicativos computacionais

Como gerar arquivos para Sphinx Operador

02. O software ainda permite instalar a barra de ferramentas do Google como recurso extra. Faça a escolha desejada e continue a instalação.

A Linguagem Pascal e o Ambiente de Programação Dev-Pascal. Introdução à Ciência da Computação I

Para participar de um mapa colaborativo usando o Cmap Tools

CURSO BÁSICO DE PROGRAMAÇÃO AULA 8. Introdução ao Linux Introdução a linguagem C

Portal Sindical. Manual Operacional Empresas/Escritórios

Utilizando o correio eletrônico da UFJF com Thunderbird e IMAP

1 Sumário O Easy Chat Conceitos Perfil Categoria Instalação O Aplicativo HTML...

GEADA. Gerador de Expressões Algébricas em Digrafos Acíclicos. para versão 1.0, de agosto/2008. Autor: Márcio Katsumi Oikawa

Transcrição:

1. Autores Interface gráfica para compiladores gratuitos baseados em linha de comando disponíveis na internet Luciano Eugênio de Castro Barbosa Flavio Barbieri Gonzaga 2. Resumo O custo de licenciamento de ferramentas de desenvolvimento de sistemas pode ser caro. A utilização de opções gratuitas da internet pode ser uma solução, porém tais ferramentas apresentam o inconveniente de serem de difícil utilização, por não possuírem uma interface gráfica. Este trabalho propõe o desenvolvimento de editores de código-fonte em interface gráfica, que funcionam em conjunto com compiladores subjacentes baseados em linha de comando. Apresenta-se o desenvolvimento de um protótipo de um editor para a linguagem C/C++, que faz uso de um compilador gratuito disponível na internet. 3. Corpo do Trabalho 3.1. Introdução A aquisição de ferramentas de desenvolvimento de software por instituições de ensino superior e nível técnico da área de computação tem se tornado difícil, se forem levados em conta fatores tais como custo e políticas de licenciamento de software por parte dos fabricantes mais famosos. O problema se agrava quando, inadvertidamente, instalam-se cópias ilegais de softwares de desenvolvimento em computadores dos laboratórios destas instituições. A alternativa para este problema pode ser a obtenção através da rede de compiladores gratuitos, que para fins acadêmicos são satisfatórios. Um outro inconveniente gerado é a grande dificuldade de instalação e operação desta categoria de compiladores. É necessário seguir uma seqüência meticulosa de instalação, e após isso devem ser decorados uma série de comandos não tão fáceis de serem assimilados, por serem mnemônicos de operações do compilador. Como exemplo. Este trabalho propõe a criação de um editor de textos específico a uma linguagem de programação, e que seja capaz de interagir com o compilador gratuito baseado em linha de comando. Por ser de interface gráfica, apresenta as vantagens óbvias, no que diz respeito à assimilação de uso do compilador. A interface proposta possui não apenas uma descrição mais amigável dos comandos do compilador, como também oferece um destaque das palavras-chave da linguagem de programação específica, à medida que o programador digita o programa. A seguir, será apresentada uma exemplificação das dificuldades que podem ser sentidas usando-se um compilador baseado em linha de comando. O capítulo após esta revisão exibe mais detalhes do protótipo desenvolvido por este grupo de pesquisa. Depois serão discutidos tópicos conclusivos a respeito do trabalho, e as fontes bibliográficas serão indicadas.

3.2. Revisão Bibliográfica Tomando-se como exemplo a linguagem C++, alguns compiladores gratuitos foram analisados [1]. As palavras-chave foram consultadas [2]. 3.2.1. Compiladores C++ para Windows 3.2.1.1. Ming (da GNU) O compilador Ming é gratuito, baseado no compilador da GNU e funciona em DOS (também em Windows). A página web desse compilador é mostrada abaixo. http://www.xraylith.wisc.edu/~khan/software/gnu-win32/ 3.2.1.2. djgpp A página do djgpp é www.delorie.com/djgpp/. Nessa página, há todas as informações necessárias para copiar, instalar e usar esse compilador. Abaixo há um resumo das informações de instalação. O uso do djgpp é muito parecido com o do g++ do unix. É necessário pegar, num dos servidores ftp listados, no diretório v2gnu, os arquivos abaixo (pequenas variações nas versões dos arquivos em princípio são aceitas). As descrições do significado desses arquivos estão disponíveis na página do djgpp. bnu2951b.zip djdev203.zip gcc2953b.zip gpp2953b.zip txi40b.zip Todos esses arquivos devem ser descompactados para um diretório de instalação. Digamos que o nome desse diretório seja c:\winap\djgpp. Para simplificar, se quiser, crie um arquivo chamado djgpp.bat com o conteúdo abaixo. @echo off set PATH=C:\winap\DJGPP\BIN;%PATH% set DJGPP=c:/winap/djgpp/djgpp.env echo DJGPP enviromnent installed (SBVB) 3.2.2. g++ (do unix) O compilador geralmente é chamado de cc, ou de gcc ou de g++. Cada usuário deve verificar como é no seu sistema. A menos que se comande de forma diferente, o arquivo executável resultante é a.out. Deve-se lembrar que em unix qualquer arquivo pode ser executável e não apenas os que tem extensão *.exe ou *.com.

Para ver a versão do compilador sendo utilizada, é necessário digitar como mostrado abaixo. Uma das últimas versões disponíveis é 2.95. g++ -v Para compilar e linkar g++ main.cpp // programa com 1 só arquivo fonte g++ main.cpp file1.cpp file2.cpp // programa com 3 arquivos fonte Caso se modifique apenas o main.cpp, pode-se compilar apenas esse arquivo e linkar com os demais com g++ main.cpp file1.o file2.o Ensina-se o compilador a procurar arquivos include em mais um diretório com a opção -I<diretório>. No Exemplo abaixo acrescenta-se o diretório./include na busca para includes. G++ -I./include main.cpp file1.cpp file2.cpp 3.2.2.1. Usando o Help O help do g++ em unix é em grande parte baseado no comando man (manual), que adicionalmente dá ajuda em todo o sistema operacional unix. Por exemplo: para saber ajuda sobre a função chamada printf, na linha de comando, deve-se digitar como abaixo. man printf Esta breve revisão de alguns compiladores gratuitos ilustra o tempo que pode ser gasto para que alunos de cursos de graduação em computação ou áreas de aplicação assimilem a grande diversidade de comandos que tem que ser digitados a partir do teclado. 3.3. Protótipo O protótipo desenvolvido por este grupo de pesquisa apresenta as seguintes características: Feito para o Ambiente Windows; Funciona com o compilador gratuito Borland c++ 5.5 (linha de comando); Foi denominado Interfa_C Interface gráfica para compilador C e C++ ; Possui arquivo de Ajuda próprio; Conta com a função de destaque de palavras-chave da linguagem. O Interfa_C torna mais simples ações como compilar, executar e debugar um projeto, bem como dá acesso a help no formato de hipertexto. Esta facilidade a mais é obtida com a interface gráfica, onde todas as funções do compilador podem ser acessadas por cliques do mouse.

3.3.1. Destaque de Características Básicas Dentre as funções presentes no protótipo, foram selecionadas algumas para serem detalhadas. Para iniciar um novo projeto, no menu Arquivo clique no comando Novo, conforme ilustrado na Figura 1. Figura 1 Iniciando um novo projeto no Interfa_C. Uma nova janela de texto será aberta, onde poderá ser digitado o código fonte. O código terá destaque nas palavras-chave da linguagem (sintax highlight), conforme mostrado na Figura 2. Figura 2 Código fonte de um projeto simples, digitado no Interfa_C. Para compilar um projeto, o comando Compilar, do menu Projeto pode ser utilizado. Também é possível iniciar uma compilação utilizando um atalho: as teclas CTRL+F9. Para executar um projeto compilado, pode-se clicar no menu Projeto, e selecionar a opção Executar, ou então utilizar o atalho provido pela tecla F9. Para encontrar os erros de compilação, uma poderosa ferramenta foi implementada: a linha que contém o erro pode ser rapidamente encontrada, dando-se um clique duplo na lista de erros, exibida nos resultados da compilação. A Figura 3 dá uma idéia deste recurso.

Figura 3 Localizando uma linha que contém erro de compilação. O protótipo possui também um sistema de help on-line, onde o programador pode consultar ajuda a respeito tanto de tópicos específicos sobre o compilador subjacente, como também ajuda sobre o próprio uso do programa. A instalação é bastante simples: bastam ser copiados alguns arquivos de configuração, bem como o próprio executável do Interfa_C, no diretório /bin do referido compilador gratuito. 3.3.2. Detalhando as Funções Avançadas 3.3.2.1. O Destaque de Palavras Chave Para o reconhecimento de palavras-chave da linguagem (ver Figura 5.), foi desenvolvido um algoritmo próprio pelo grupo de pesquisa, que obteve a listagem de quais palavras chave reconhecer através do livro [2]. Tal algoritmo apresenta ainda a vantagem de poder ser facilmente remodelado para outras linguagens, o que agiliza consideravelmente futuros projetos de API s para compiladores de linguagens distintas. Várias alterações de código permitiram ao protótipo a vantagem de possuir um bom desempenho no destaque do código fonte digitado, além de fazer o tratamento de casos onde a execução do algoritmo não se faz necessária (por exemplo ao movimentar o cursor sem que ocorra a alteração do conteúdo digitado). Situações de digitação de palavras seguidas de caracteres especiais também foram previstas pelo projeto. Por exemplo, ao se digitar scanf(a), a string obtida e analisada pelo algoritmo deve ser apenas scanf, e não scanf(a). Logo, o destaque de sintaxe deve ser realizado apenas na palavra scanf. A Figura 4 ilustra a situação tratada de forma correta.

Figura 4 Exibindo palavras reservadas seguidas de parênteses. A função de sintax highlight implementada faz uso ainda da distinção de cores de acordo com a categoria da palavra reservada encontrada, o que torna mais confortável o trabalho do programador (ver Figura 5.). 3.3.2.2. Arquivo de Help Figura 5 Distinção de cores por categoria de palavras. O projeto visando ainda o apoio aos usuários do Interfa_C, conta com um arquivo de Help desenvolvido com a função de explicar as facilidades da API, bem como de sanar qualquer dúvida restante. A tela inicial do arquivo de ajuda pode ser vista através da Figura 6. Figura 6 Tela inicial do arquivo de Help.

Funções da API Win32 também foram utilizadas para possibilitar a utilização dos recursos comuns aos arquivos de Help do Windows, tais como busca de palavras e índices pelo arquivo de ajuda. A Figura 7 mostra tais recursos. Figura 7 Recursos do arquivo Help. O acesso ao arquivo do próprio compilador (em inglês) também pode ser realizado pelo programa, conforme a Figura 8. 4. Conclusões Figura 8 Acessando o arquivo de Help do Compilador. Como protótipo do projeto aqui descrito, apresentou-se o acima, que já vem sendo usado com sucesso por dois anos em uma faculdade de Ciência da Computação. Alguns ajustes ainda precisam ser feitos, como por exemplo o suporte a projetos envolvendo mais de um arquivo. O Interfa_C já se encontra disponível gratuitamente para Download nos principais sites de download. O projeto continua avançando no sentido de se obter generalidade no suporte com interface gráfica a compiladores gratuitos. Planeja-se construir um próximo protótipo que permita trabalhar com qualquer compilador, para qualquer linguagem. Isto pode ser obtido utilizando-se um módulo de configurações no software, que permita ao programador ajustar aspectos como o caminho onde se encontra instalado o compilador subjacente, funcionando em linha de comando. Em seguida, um arquivo externo contendo uma lista de palavras-chave da linguagem pode resolver o problema do destaque nas palavras reservadas (sintax highlight).

5. Bibliografia [1]VILAS-BOAS, Sergio Barbosa. C++ e Orientação a Objetos em Ambiente Multiplataforma [http://www.del.ufrj.br/~villas/livro_c++.html] 20/02/2003. [2]SCHILDT, Herbert. Borland C++: Completo e Total. São Paulo, Makron, 1997.