Analizador LR

En este artículo, discutiremos el analizador LR, su descripción general y luego discutiremos el algoritmo. Además, discutiremos la tabla de análisis y el diagrama de trabajo del analizador LR. Discutámoslo uno por uno. Analizador LR : El analizador LR es un analizador de abajo hacia arriba para la gramática libre de contexto que generalmente es … Continue reading «Analizador LR»

Programa Lex para comprobar si un número dado es par o impar

Dado un número n, la tarea es verificar si el n dado es par o impar usando el programa Lex. Ejemplos: Input : 10 Output : Even Input : 5 Output : Odd Prerrequisito: FLEX (Generador de analizador léxico rápido) Un número par es un número entero que es «divisible uniformemente» por 2. Esto significa … Continue reading «Programa Lex para comprobar si un número dado es par o impar»

Código Lex para contar el número total de tokens

Lex es un programa de computadora que genera analizadores léxicos y fue escrito por Mike Lesk y Eric Schmidt. Lex lee un flujo de entrada que especifica el analizador léxico y genera el código fuente que implementa el lex en el lenguaje de programación C. Tokens: Un token es un grupo de caracteres que forman … Continue reading «Código Lex para contar el número total de tokens»

Esquemas de traducción dirigidos por sintaxis

La traducción dirigida por sintaxis es un conjunto de producciones que tienen reglas semánticas incrustadas en su interior. La traducción dirigida por la sintaxis ayuda en la fase de análisis semántico en el compilador. SDT tiene acciones semánticas junto con la producción en la gramática. Este artículo trata sobre postfix SDT y esquemas de traducción … Continue reading «Esquemas de traducción dirigidos por sintaxis»

Backpatching en el diseño del compilador

Backpatching es básicamente un proceso de cumplimiento de información no especificada. Esta información es de etiquetas. Básicamente utiliza las acciones semánticas apropiadas durante el proceso de generación de código. Puede indicar la dirección de la etiqueta en declaraciones goto mientras produce TAC para las expresiones dadas. Aquí, básicamente, se utilizan dos pases porque asignar las … Continue reading «Backpatching en el diseño del compilador»

Procesadores de Lenguaje: Ensamblador, Compilador e Intérprete

Procesadores de lenguaje –   Los compiladores, intérpretes, traducen programas escritos en lenguajes de alto nivel en código de máquina que entiende una computadora. Y los ensambladores traducen programas escritos en lenguaje ensamblador o de bajo nivel a código de máquina. En el proceso de compilación, hay varias etapas. Hay herramientas disponibles para ayudar a … Continue reading «Procesadores de Lenguaje: Ensamblador, Compilador e Intérprete»

Alcance estático y dinámico

El alcance de una variable x en la región del programa en el que el uso de x se refiere a su declaración. Una de las razones básicas para definir el alcance es mantener las variables en diferentes partes del programa distintas entre sí. Dado que solo hay una pequeña cantidad de nombres de variables … Continue reading «Alcance estático y dinámico»

Gráfico acíclico dirigido en Compiler Design (con ejemplos)

Gráfico acíclico dirigido: el gráfico acíclico dirigido (DAG) se utiliza para representar la estructura de bloques básicos , para visualizar el flujo de valores entre bloques básicos y para proporcionar técnicas de optimización en el bloque básico. Para aplicar una técnica de optimización a un bloque básico, un DAG es un código de tres direcciones … Continue reading «Gráfico acíclico dirigido en Compiler Design (con ejemplos)»

Algoritmo Cocke-Younger-Kasami (CYK)

La gramática denota las reglas sintácticas para la conversación en lenguaje natural. Pero en la teoría del lenguaje formal, la gramática se define como un conjunto de reglas que pueden generar strings. El conjunto de todas las strings que se pueden generar a partir de una gramática se denomina lenguaje de la gramática. Gramática Libre … Continue reading «Algoritmo Cocke-Younger-Kasami (CYK)»

Funcionamiento del analizador de abajo hacia arriba

En este artículo, cubriremos el funcionamiento del analizador de abajo hacia arriba y veremos cómo podemos tomar entradas y analizarlas y también cubrir algunos conceptos básicos del analizador de abajo hacia arriba.  Requisito previo: análisis   Analizador de abajo hacia arriba :   Comenzará desde la string y procederá a comenzar. En el analizador de abajo hacia … Continue reading «Funcionamiento del analizador de abajo hacia arriba»