O maior acervo de tutoriais e referências

Compiler Design

Redução de frequência na otimização de código

Pré-requisito - Design do compilador | Otimização de código A redução da frequência é um tipo de processo de otimização de loop que é independente da máquina. Na redução de frequência, o código dentro de um loop é otimizado para melhorar o tempo de execução do programa. A redução de frequência é usada para diminuir a....

DFA em código LEX que aceita strings que terminam em 11

Pré-requisito: Projetando autômatos finitos Problema: Projete um código LEX para construir um DFA que aceite a linguagem: todas as strings que terminam com “11” nas entradas '0' e '1'. Exemplos: Input: 100011 Output: Accepted Input: 100101 Output: Not Accepted Input: asdf Output: Invalid Abordagem: LEX nos fornece um estado INICIAL por padrão. Portanto, para fazer um DFA, use-o como o estado inicial do....
Posted on Nov 09, 2021 | by Blinkii

Algoritmo Cocke – Younger – Kasami (CYK)

Gramática denota as regras sintáticas para conversação em linguagem natural. Mas na teoria da linguagem formal, a gramática é definida como um conjunto de regras que podem gerar strings. O conjunto de todas as strings que podem ser geradas a partir de uma gramática é chamado de linguagem da gramática. Gramática Livre de Contexto: Recebemos uma Gramática Livre....

Programa Lex para conversão de decimal em binário

Problema: Escreva um programa Lex para conversão de decimal em binário. Explicação: FLEX (Fast Lexical Analyzer Generator) é uma ferramenta / programa de computador para gerar analisadores lexicais (scanners ou lexers) escrito por Vern Paxson em C por volta de 1987. Lex lê um fluxo de entrada especificando o analisador lexical e produz o código-fonte implementando o lexer....

Programa YACC para reconhecer strings de {anb | n≥5}

Problema: Escreva o programa YACC para reconhecer strings de {a n b | n≥5} Explicação: Yacc (para “mais um compilador compilador.”) É o gerador de analisador padrão para o sistema operacional Unix. Um programa de código aberto, o yacc gera código para o analisador na linguagem de programação C. O acrônimo é geralmente processado em minúsculas, mas às....