(→Material de Apoio ao Desenvolvimento do Projecto) |
|||
Line 7: | Line 7: | ||
* análise sintáctica (gerador de analisadores LALR(1) byacc-1.9); | * análise sintáctica (gerador de analisadores LALR(1) byacc-1.9); | ||
* análise semântica e geração de código (CDK, RTS e extensões); e | * análise semântica e geração de código (CDK, RTS e extensões); e | ||
− | * compilação de assembly (ferramenta yasm -- formato de teste: linux/elf32). | + | * compilação de assembly (ferramenta '''[http://yasm.tortall.net/ yasm]''' -- formato de teste: linux/elf32). |
=== CDK10 e RTS3 === | === CDK10 e RTS3 === |
O compilador, escrito em C++, realiza as seguintes etapas de análise para implementar a linguagem:
As bibliotecas CDK e RTS de apoio ao desenvolvimento do projecto são de uso obrigatório:
As ferramentas Flex e byacc estão disponíveis para a maioria dos sistemas actuais. No entanto, apesar de o número de versão poder ser o mesmo, o código gerado pode variar e não ser compatível com o ambiente oficial de teste. Recomenda-se apenas a utilização do material fornecido pela disciplina.
O manterial de apoio está disponível para instalação directa (não é necessário compilar) através do repositório (usar instalador favorito) [1] (escolher distribuição ou usar openSUSE 13.2, a oficial).
Está ainda disponível uma máquina virtual (baseada em openSUSE 13.2), que contém todo o material acima.