<p>Consolidação e fechamento da formação: a ponte entre a semântica abstrata das linguagens funcionais e a execução física na máquina. Apresenta o ciclo de vida completo de um compilador: análise léxica (Lexing/Scanning: conversão de caracteres em tokens), análise sintática (Parsing: aplicação de gramáticas livres de contexto e resolução de precedência para gerar a Árvore Sintática Abstrata - AST), checagem estática de tipos e resolução de escopo, otimizações intermediárias e geração de código executável. Explora as duas grandes famílias de arquiteturas de Máquinas Virtuais: 1) Máquinas Baseadas em Pilha (Stack-Based Machines, como a JVM, Python VM e a Máquina de Bytecode de OCaml / Zinc Machine de Xavier Leroy): operações consomem operandos do topo de uma pilha central e empilham resultados; 2) Máquinas Baseadas em Registradores (Register-Based Machines, como LuaJIT e LLVM IR): instruções operam sobre registradores virtuais explícitos, reduzindo o número total de instruções ao custo de formatos de instrução mais complexos. Examina a Semântica Operacional de linguagens funcionais em suas vertentes Small-Step (redução passo a passo com relações de transição de estado) e Big-Step (avaliação direta de termos para valores finais), enfatizando o princípio da Composicionalidade Semântica (o significado de uma construção composta é uma função do significado de suas partes). Ensina a implementar um interpretador funcional 'eval-apply' completo em OCaml para uma mini-linguagem e constrói um gerador de bytecode com sua respectiva máquina abstrata de execução, fechando o ciclo do código-fonte ao hardware.</p>
2. Fundamentos & Conceito Central (Estudos)
Consolidação e fechamento da formação: a ponte entre a semântica abstrata das linguagens funcionais e a execução física na máquina. Apresenta o ciclo de vida completo de um compilador: análise léxica (Lexing/Scanning: conversão de caracteres em tokens), análise sintática (Parsing: aplicação de gramáticas livres de contexto e resolução de precedência para gerar a Árvore Sintática Abstrata - AST), checagem estática de tipos e resolução de escopo, otimizações intermediárias e geração de código executável. Explora as duas grandes famílias de arquiteturas de Máquinas Virtuais: 1) Máquinas Baseadas em Pilha (Stack-Based Machines, como a JVM, Python VM e a Máquina de Bytecode de OCaml / Zinc Machine de Xavier Leroy): operações consomem operandos do topo de uma pilha central e empilham resultados; 2) Máquinas Baseadas em Registradores (Register-Based Machines, como LuaJIT e LLVM IR): instruções operam sobre registradores virtuais explícitos, reduzindo o número total de instruções ao custo d...
Desbloqueie o Conteúdo Completo
Quer praticar no Laboratório e emitir seu Certificado?
Faça sua matrícula para ter acesso à videoaula completa, áudio narrativo, roteiro de slides com controles, laboratório guiado com envio de evidência e certificado com código verificável de autenticidade.
Privacidade, cookies e mensuração (LGPD)Usamos cookies essenciais para sessão e segurança. Com sua permissão, ativamos análise (GA4/GTM) e mensuração de mídia (Meta Pixel / API de Conversões) para melhorar sua experiência. Política de Cookies