schnorr / comp

Disciplina de Compiladores (INF01147) - INF/UFRGS

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Máquina virtual para realização do trabalho

schnorr opened this issue · comments

Uma máquina virtual (com Debian/Linux Testing) identificada por CompBox.ova foi criada para a implementação do projeto, caso tenham interesse. Ela tem um tamanho de 2.4GBytes e está no formato ova, para uso com Virtual Box. O par login/senha para logar como usuário normal é aluno/aluno, enquanto que a senha de root é CompBox. As ferramentas necessárias para realizar de todas as etapas do projeto (que são basicamente flex, bison e o compilador gcc) já encontram-se instaladas.

Ela estará disponível para download até o dia 12/09.

Uma alternativa menos pesada que a abordagem ova (Virtual Box) é via containers docker (assumindo que o comando docker esteja disponível no seu sistema). Um container docker para realizar o projeto da disciplina de compiladores está disponível em https://hub.docker.com/r/schnorr/comp/. Para obter esse container e "entrar" nele, uma vez que a ferramenta docker está instalado em seu sistema, basta:

docker pull schnorr/comp
docker run -it schnorr/comp

Para registro, abaixo segue uma descrição de como esse container foi construído, por intermédio de arquivo DockerFile. O conteúdo deste arquivo (veja imediatamente abaixo) tem um conjunto mínimo de ferramentas para realizar o projeto de compilador:

FROM debian:testing

RUN apt-get -y update
RUN apt-get -y install build-essential make gcc gdb flex bison valgrind
RUN useradd -s /bin/bash --create-home user
USER user
WORKDIR /home/user

As ferramentas mínimas:

  • o compilador gcc
  • o comando make para tratar de Makefiles
  • o comando gdb para debugar seu programa
  • o comando valgrind para debugar ainda mais o seu programa
  • versões recentes de flex e bison para realizar o trabalho

Coloque o arquivo DockerFile com o conteúdo acima em um diretório qualquer. Em seguinda, neste diretório qualquer, execute o seguinte comando para criar a imagem docker (ou o equivalente utilizando uma interface gráfica):

docker build -t comp .

Depois para "entrar" no container e realizar o trabalho, lance:

docker run -it comp

Essas indicações são sobretudo para um sistema baseado em algum /flavor/ de Linux. Para windows, procure seguir as orientações disponíveis no site do docker.

Agradecemos ao @otaviojacobi por sugerir essa opção com docker.