Construcción de la tabla de análisis LL(1) – Part 1

Requisito previo: clasificación de los analizadores de arriba hacia abajo, FIRST Set , FOLLOW Set  Un analizador de arriba hacia abajo construye el árbol de análisis de arriba hacia abajo, comenzando con el no terminal de inicio. Hay dos tipos de analizadores de arriba hacia abajo:   Analizador de arriba hacia abajo con retroceso Analizadores de … Continue reading «Construcción de la tabla de análisis LL(1) – Part 1»

Programa Lex para buscar una palabra en un archivo

Problema: Escriba un programa Lex para buscar una palabra en un archivo. Explicación: FLEX (Fast Lexical Analyzer Generator) es una herramienta/programa informático para generar analizadores léxicos (escáneres o lexers) escrito por Vern Paxson en C alrededor de 1987. Lex lee un flujo de entrada que especifica el analizador léxico y genera el código fuente que … Continue reading «Programa Lex para buscar una palabra en un archivo»

Analizador CLR (con ejemplos)

Analizadores LR: es una técnica eficiente de análisis de sintaxis de abajo hacia arriba que se puede utilizar para analizar grandes clases de gramática libre de contexto y se denomina análisis LR (k). L representa el escaneo de izquierda a derecha R representa la derivación más a la derecha en sentido inverso k representa el no. … Continue reading «Analizador CLR (con ejemplos)»

Programa LEX para contar el número de vocales y consonantes en una string dada

Requisito previo: Flex (generador de analizador léxico rápido) Dada una string que contiene tanto vocales como consonantes, escriba un programa LEX para contar el número de vocales y consonantes en la string dada. Ejemplos: Input: Hello everyone Output: Number of vowels are: 6 Number of consonants are: 7 Input: This is GeeksforGeeks Output: Number of … Continue reading «Programa LEX para contar el número de vocales y consonantes en una string dada»

Aplicación de traducción dirigida por sintaxis

En este artículo, vamos a cubrir la aplicación de traducción dirigida por sintaxis donde también veremos un ejemplo real y cómo se puede resolver el problema con estas aplicaciones. vamos a discutir uno por uno. Requisito previo: Introducción a la traducción dirigida por sintaxis Traducción dirigida por sintaxis: se utiliza para el análisis semántico y … Continue reading «Aplicación de traducción dirigida por sintaxis»

Optimización interprocedimiento mediante sustitución en línea

Los diferentes alcances de la optimización del código incluyen la optimización local, la optimización regional, la optimización global y la optimización entre procedimientos.  La optimización local se refiere a la optimización en un bloque básico. La Optimización Regional se refiere a la optimización en un Bloque Básico Extendido. La optimización global se refiere a la … Continue reading «Optimización interprocedimiento mediante sustitución en línea»

Expresión regular a DFA

Requisito previo : introducción de autómatas finitos Utilidad : para construir DFA a partir de una expresión regular dada, primero podemos construir un NFA para la expresión dada y luego convertir este NFA a DFA mediante un método de construcción de subconjuntos. Pero para evitar este procedimiento de dos pasos, al revés es construir directamente … Continue reading «Expresión regular a DFA»

Diferencia entre lenguajes de alto y bajo nivel

Tanto el lenguaje de alto nivel como el lenguaje de bajo nivel son los tipos de lenguajes de programación . La principal diferencia entre el lenguaje de alto nivel y el lenguaje de bajo nivel es que los programadores pueden comprender, interpretar o compilar fácilmente el lenguaje de alto nivel en comparación con la máquina. … Continue reading «Diferencia entre lenguajes de alto y bajo nivel»

Introducción al análisis léxico – Part 1

El análisis léxico es la primera fase del compilador, también conocido como escáner. Convierte el programa de entrada de alto nivel en una secuencia de tokens . El análisis léxico se puede implementar con los autómatas finitos deterministas . El resultado es una secuencia de tokens que se envía al analizador para el análisis de … Continue reading «Introducción al análisis léxico – Part 1»

Compilador fuente a fuente

Un compilador es un programa de software que transforma un programa o código escrito en un lenguaje de programación de alto nivel en un lenguaje legible por máquina de bajo nivel. Cuando escribimos un programa o código que puede estar en un lenguaje de alto nivel, como C, C++ o como el que se muestra … Continue reading «Compilador fuente a fuente»