- Texto do trabalho sobre yacc (Análisador sintático - parser).
- Parser LALR(1) e
yacc: exercícios, slides. lex: exercícios, slides.
- Abra o PowerShell como Administrador e execute o comando a seguir para permitir que scripts sem assinatura digital sejam executados:
Set-ExecutionPolicy RemoteSigned
- Execute o comando a seguir no PowerShell para instalar os programas a serem usados:
Set-ExecutionPolicy Bypass -Scope Process -Force; [System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/ajholanda/edu-compiladores/main/setup/win.ps1'))
Execute os seguintes comandos no terminal:
git clone https://github.com/ajholanda/edu-compiladores
cd edu-compiladores/setup
bash lnx.sh
O script foi testado no Debian/Ubuntu, talvez algumas alterações tenham que ser feitas para outras distribuições.
Execute os comandos (bash ou PowerShell) a seguir para criar um contêiner e executar a instância com os códigos do flex e bison:
$ docker build --rm . -t bison-image
$ docker run --rm -it --entrypoint bash bison-image
A instância contém todos os programas necessários para compilação dos arquivos
que são copiados para os diretórios /home/flex e /home/bison.
Execute os comandos (bash ou PowerShell) a seguir para criar uma máquina virtual Vagrant com os programas e códigos usados na disciplina:
$ vagrant up
$ vagrant ssh # Se pedir senha digite "vagrant".
$ cd compiladores
O conteúdo deste repositório é mapeado para o diretório compiladores.
- Guia de instalação do Subsistema Windows para Linux para Windows.
- Como instalar o Windows Terminal para executar comandos
Unix-like com mais facilidade. - Brian Kernighan, UNIX: A History and a Memoir:
Livro que narra a história do desenvolvimento do Sistema Operacional
Unixpor quem participou ativamente do processo. Neste livro é descrito com detalhes o surgimento dolexeyacc. - Chocolatey: gerenciador de instalação de programas para Windows.
- VS Code: editor usado nas demonstrações e aulas.
- Mingw: projeto contendo o
gccpara Windows. Porém, qualquer compilador C pode ser usado, dentre eles:tcceclang. - winflexbison: projeto de portabilidade do
flexebisonpara Windows. - Compiler Explorer: gera código para diversas plataformas.