Gramaticas Independientes del Contexto, ejemplos y ejercicios
|
|
- María Jesús Ojeda Correa
- hace 6 años
- Vistas:
Transcripción
1 OpenStax-CNX module: m Gramaticas Independientes del Contexto, ejemplos y ejercicios Carlos Arturo Cortés Fuentes This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 Abstract Las gramáticas libres de contexto permiten describir la mayoría de los lenguajes de programación, de hecho, la síntaxis de la mayoría de lenguajes de programación está denida mediante gramáticas libres de contexto. Por otro lado, estas gramáticas son sucientemente simples como para permitir el diseño de ecientes algoritmos de análisis sintáctico que, para una cadena de caracteres dada determinen como puede ser generada desde la gramática Gramáticas Independientes del Contexto, ejemplos y ejercicios Una Gramática independientes del contexto (GIC) es una gramática formal 1 en la que cada regla de producción es de la forma: Exp x Donde Exp es un símbolo no terminal 2 y x es una cadena de terminales y/o no terminales. El término independiente del contexto se reere al hecho de que el no terminal Exp puede siempre ser sustituido por x sin tener en cuenta el contexto en el que ocurra. Un lenguaje formal 3 es independiente de contexto 4 si hay una gramática libre de contexto que lo genera, este tipo de gramática fue creada por Backus-Naur 5 y se utiliza para describir la mayoría de los lenguajes de programación. Una GIC está compuesta por 4 elementos: 1. Símbolos terminales (elementos que no generan nada) 2. No terminales (elementos del lado izquierdo de una producción, antes de la echa "- >") 3. Producciones (sentencias que se escriben en la gramática) 4. Símbolo inicial (primer elemento de la gramática) Ejemplo 1: Teniendo un lenguaje que genera expresiones de tipo: Para determinar si una GIC esta bien escrita se utilizan los arboles de analisis sintáctico 6, así: Producciones: lista -> lista + digito lista -> lista - digito lista -> digito Version 1.1: May 29, :12 am
2 OpenStax-CNX module: m digito -> Arbol de analisis sintactico: Figure 1 La gramática es correcta siempre y cuando el símbolo inicial este al lado izquierdo de las producciones y sea la raíz del árbol. Ejemplo 2: Hacer una gramática que genere el número 5 Símbolo inicial (no terminal): Exp y Símbolo terminal: 5 Exp -> 5 Ejemplo 3: Hacer una gramática que genere un dígito. Exp -> Arbol de analisis sintactico: Exp 3 Ejemplo 4: Hacer una gramática que repita muchas veces el número 5 Exp -> Exp 5 5 Prueba con el número 555
3 OpenStax-CNX module: m Figure 2 Ejemplo 5: Gramática que genera muchos dígitos Exp -> Exp dig dig dig -> Prueba: Figure 3
4 OpenStax-CNX module: m Ejemplo 6: Hacer una GIC que genere un número binario Exp -> Exp bin bin bin -> 0 1 Ó con una sola producción: Exp -> Exp 0 Exp Prueba: Figure 4 Aunque esta producción puede generar expresiones como 0000, para evitar errores como este: dig -> 1 Exp 1 Exp -> Exp 0 Exp Nota 1: El símbolo inicial siempre debe estar en la primera producción de la gramática. Nota 2: Expresiones de tipo, Exp -> Exp 0 1, genera potencias de 10, ejemplo
5 OpenStax-CNX module: m Figure 5 Ejemplo 7: Hacer una gramática que genere un conjunto de 1 seguido de un conjunto de 0, donde el número 1 debe ser impar y el número de 0 debe ser par. Exp -> unos ceros ceros -> ceros unos -> unos 11 1 Figure 6
6 OpenStax-CNX module: m Figure 7 Ejemplo 8: ¾Cuál es el lenguaje de la siguiente producción? Pal -> Pal letras letras Letras -> a b c d e f g... z R/ Es una GIC que genera palabras escritas en minúsculas. Ejemplo 9: Hacer una GIC que genere una frase cuya letra inicial de cada palabra sea mayúscula. Frase -> Frase Exp pal pal Exp -> Pal -> may pal min min -> a b c d... z may -> A B C D... Z
7 OpenStax-CNX module: m Figure 8 Ejercicios 1. Hacer una gramática independiente del contexto (G.I.C), que genere nombres de persona, mínimo un nombre y un apellido, máximo dos nombres y dos apellidos. Cada nombre y apellido debe comenzar por mayúscula. Nota: Se tiene en cuenta que =vacio; no se aceptan apellidos compuestos. nombre nom nom2 esp nom nom2 nom2 esp nom nom nom min may may A B C D... Z min a b c d... z esp Árbol de análisis sintáctico
8 OpenStax-CNX module: m Figure 9 2. Hacer una gramática independiente del contexto (G.I.C), que genere frases cuyas palabras empiecen en una vocal mayúscula y terminen en una consonante minúscula. En medio de la vocal mayúscula y la consonante pueden haber letras minúsculas. frase frase esp pal2 pal2 esp pal2 pal1 conmin pal1 pal2 min vocmay vocmay A E I O U min conmin vocmin conmin b c d f g... z vocnim a e i o u 3. Hacer una gramática independiente del contexto (G.I.C), que genere la sentencia condicional if con las siguientes restricciones: Siempre se va a comparar una variable con un número entero o una variable con otra variable. Los operadores relacionales son: < > ==!=
9 OpenStax-CNX module: m Las variables deben empezar en una letra y después de esa letra pueden haber cualquier cantidad de números o letras. Los números solamente van a ser enteros de cualquier cantidad de dígitos. Un número no debe empezar en cero, pero puede ser cero. Se pueden utilizar los operadores lógicos && (and) y II (or). Solamente se van a utilizar los paréntesis después del if y al nal del if. Solución 1 if2 if1 term if1 if cond5 inicio cond5 cond5 oprlog cond4 cond4 cond1 cond2 cond3 cond3 var opr var cond2 var opr cero cond1 var opr num2 oprlog '&&' 'II' opr < > ==!= var var todo letras todo A B C D... Z letras A B C D... Z num2 num2 num1 num3 num1 num3 cero num cero 0 inicio if ( term ) Solución 2 si if (exp) exp comp comp oplog exp comp var oprel num var oprel var oprel < > ==!= oplog '&&' 'II' var var numero var letra letra letra a b c d... z A B C D... Z numero num 0 num num dig num 0 dig dig
Procesadores de Lenguaje
Procesadores de Lenguaje Repaso TALF Cristina Tîrnăucă Dept. Matesco, Universidad de Cantabria Fac. Ciencias Ing. Informática Primavera de 2013 La Jerarquía de Chomsky Cuatro niveles de lenguajes formales
Más detallesCurso de Java Introducción a la Programación III
Curso de Java Introducción a la Programación III Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Operadores relacionales e igualdad 2 Estructuras de control condicional
Más detallesGUÍA BÁSICA DE SCHEME v.4
Esta guía básica pretende ser una introducción elemental al lenguaje de programación Scheme. Se presenta como una guía de comienzo rápido de tal forma que permita conocer de una forma muy esquemática los
Más detallesEntendiendo las Graficas de Polos y Ceros en el Plano-Z
OpenStax-CNX module: m2966 Entendiendo las Graficas de Polos y Ceros en el Plano-Z Michael Haag Translated By: Fara Meza Erika Jackson Based on Understanding Pole/Zero Plots on the Z-Plane by Michael Haag
Más detallesGRAMATICAS LIBRES DEL CONTEXTO
GRMTICS LIBRES DEL CONTEXTO Estas gramáticas, conocidas también como gramáticas de tipo 2 o gramáticas independientes del contexto, son las que generan los lenguajes libres o independientes del contexto.
Más detallesTema 3.- Predicados y sentencias condicionales
UNIVERSIDAD DE CÓRDOBA ESCUELA POLITÉCNICA SUPERIOR DE CÓRDOBA DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO PROGRAMACIÓN DECLARATIVA INGENIERÍA INFORMÁTICA ESPECIALIDAD DE COMPUTACIÓN CUARTO CURSO PRIMER
Más detallesSISTEMAS INFORMÁTICOS PROGRAMACION I - Contenidos Analíticos Ing. Alejandro Guzmán M. TEMA 2. Diseño de Algoritmos
TEMA 2 Diseño de Algoritmos 7 2. DISEÑO DE ALGORITMOS 2.1. Concepto de Algoritmo En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus
Más detalles$0 Representa al parámetro cero o nombre del programa $1 Representa al parámetro uno $2 Representa al parámetro dos
PROGRAMACIÓN DE SHELL SCRIPTS EN LINUX El shell es un intérprete de órdenes, pero el shell no es solamente eso; los intérpretes de órdenes de Linux son auténticos lenguajes de programación. Como tales,
Más detallesTodo programa en 'C' consta de una o más funciones, una de las cuales se llama main.
LENGUAJE C CARACTERISTICAS DEL LENGUAJE 'C' El lenguaje 'C' se conoce como un lenguaje compilado. Existen dos tipos de lenguaje: interpretados y compilados. Los interpretados son aquellos que necesitan
Más detallesCONCEPTOS BASICOS DEL LENGUAJE JAVA
CONCEPTOS BASICOS DEL LENGUAJE JAVA NOMENCLATURA GENERAL En Java se distinguen las letras mayúsculas y minúsculas. Las reglas del lenguaje respecto a los nombres de variables son muy amplias y permiten
Más detalles2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIFICADORES COMO LOCALIDADES DE MEMORIA
CONTENIDOS: 1. TIPOS DE DATOS 2. EXPRESIONES 3. OPERADORES Y OPERANDOS 4. INDENTIICADORES COMO LOCALIDADES DE MEMORIA OBJETIO EDUCACIONAL: El alumno conocerá las reglas para cambiar fórmulas matemáticas
Más detallesCapítulo 7 OPERADORES Y EXPRESIONES. Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C"
Presentación resumen del libro: "EMPEZAR DE CERO A PROGRAMAR EN lenguaje C" Autor: Carlos Javier Pes Rivas (correo@carlospes.com) Capítulo 7 OPERADORES Y EXPRESIONES 1 OBJETIVOS Conocer los tipos de operadores
Más detallesLección 2 Introducción al lenguaje C
Lección Introducción al lenguaje C Decimal Binario Hexadecimal A B C D E F Octal Equivalencia entre decimal, binario, hexadecimal y octal. Código ASCII (American Standard Code for Information Interchange)
Más detallesEl lenguaje C. 1. Identificadores, constantes y variables
Principios de Programación El lenguaje C 1. Identificadores, constantes y variables 1.1. Conceptos de memoria Los nombres de variable como x, y, suma corresponden a localizaciones o posiciones en la memoria
Más detallesCarlos Montenegro. Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas
2 - Introducción al lenguaje Java, identificadores y comentarios. Carlos Montenegro Programación Orientada a Objetos Proyecto Curricular de Ingeniería de Sistemas 1. Introducción: Java tiene como todos
Más detallesUnidad Didáctica 2. Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones
Unidad Didáctica 2 Elementos básicos del lenguaje Java Tipos, declaraciones, expresiones y asignaciones Fundamentos de Programación Departamento de Lenguajes y Sistemas Informáticos Versión 1.0.3 Índice
Más detallesPROCESADORES DE LENGUAJE. Hoja de ejercicios de FLEX
PROCESADORES DE LENGUAJE Ingeniería Informática Especialidad de Computación Tercer curso Segundo cuatrimestre Departamento de Informática y Análisis Numérico Escuela Politécnica Superior de Córdoba Universidad
Más detallesSemántica Denotacional
Semántica Denotacional Idea: El significado de un programa es la función denotada por el programa Componentes del metalenguaje para la definición semántica denotacional de un L.P.: Dominios sintácticos
Más detallesSEMINARIO DE ESPECIFICACIONES ALGEBRAICAS
Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º, Año 2004/2005 SEMINARIO DE ESPECIFICACIONES ALGEBRAICAS Contenidos: 1. Descripción general de Maude 2. Comandos básicos 3. Formato
Más detallesCompiladores: Análisis Sintáctico. Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Sintáctico Pontificia Universidad Javeriana Cali Ingenieria de Sistemas y Computación Prof. Gloria Inés Alvarez V. Sintaxis Define la estructura del lenguaje Ejemplo: Jerarquía en
Más detallesTema 1.3. Un lenguaje mínimo y su procesador: Restricciones contextuales
Tema 1.3. Un lenguaje mínimo y su procesador: Restricciones contextuales Profesor Federico Peinado Elaboración del material José Luis Sia Federico Peinado Facultad de Informática Universidad Complutense
Más detallesFUNDAMENTOS DE INFORMÁTICA
FUNDAMENTOS DE INFORMÁTICA Tema 1 Introducción a la Programación en Visual Basic Departamento de Ingeniería de Sistemas y Automática Universidad de Vigo undamentos de Informática. Departamento de Ingeniería
Más detallesLenguajes y Gramáticas
Lenguajes y Gramáticas Teoría de Lenguajes Fernando Naranjo Introduccion Se desarrollan lenguajes de programación basados en el principio de gramática formal. Se crean maquinas cada vez mas sofisticadas
Más detallesUNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R
UNIDAD 2: INTRODUCCIÓN AL LENGUAJE DE PROGRAMACiÓN R Técnicas Inteligentes en Bioinformática Máster en Lógica, Computación e Inteligencia Artificial Dpto. Ciencias de la Computación e Inteligencia Artificial
Más detallesEstructuras de Control. Secuencia y Selección
Estructuras de Control. Secuencia y Selección InCo - FING Programación 1 InCo - FING Estructuras de Control. Secuencia y Selección Programación 1 1 / 35 Estructuras de control InCo - FING Estructuras de
Más detallesPrincipios de Computadoras II
Departamento de Ingeniería Electrónica y Computadoras Operadores y Expresiones rcoppo@uns.edu.ar Primer programa en Java 2 Comentarios en Java Comentario tradicional (multi-línea) Comentario de línea Comentario
Más detallesGlucólisis. OpenStax College. Based on Glycolysis by. 1 El ATP en los seres vivos
OpenStax-CNX module: m53380 1 Glucólisis OpenStax College Based on Glycolysis by OpenStax College This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 4.0 Al
Más detallesREFERENCIA DEL LENGUAJE
REFERENCIA DEL LENGUAJE Sesión 07 Mg. Cadenas de caracteres Una cadena de caracteres es un arreglo de caracteres. Los caracteres son letras, números y signos de puntuación. Cuando un número se usa como
Más detallesAlgoritmos. Medios de expresión de un algoritmo. Diagrama de flujo
Algoritmos En general, no hay una definición formal de algoritmo. Muchos autores los señalan como listas de instrucciones para resolver un problema abstracto, es decir, que un número finito de pasos convierten
Más detallesUn ejemplo simple de normalización de bases de datos relacionales (hasta 3FN)
OpenStax-CNX module: m18350 1 Un ejemplo simple de normalización de bases de datos relacionales (hasta 3FN) Miguel-Angel Sicilia This work is produced by OpenStax-CNX and licensed under the Creative Commons
Más detallesProgramcaión Básica. Secuencias de Control y Repetición. Arturo Vega González.
Programación Básica Arturo Vega González a.vega@ugto.mx Division de Ciencias e Ingenierías Universidad de Guanajuato Campus León Sesión 5 Universidad de Guanajuato, DCI, Campus León 1 / 31 Universidad
Más detallesACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental]
ACTIONSCRIPT (AS) Proyectos II. Audiovisuales. Dpto. Escultura. UPV. [sintaxis elemental] Action script es el lenguaje de programación que lleva incorporado el software de creación multimedia Macromedia
Más detallesElementos léxicos del lenguaje de programación Java
Elementos léxicos del lenguaje de programación Java Elementos léxicos del lenguaje de programación Java Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices Operadores
Más detallesUnidad 4. Autómatas de Pila
Unidad 4. Autómatas de Pila Una de las limitaciones de los AF es que no pueden reconocer el lenguaje {0 n 1 n } debido a que no se puede registrar para todo n con un número finito de estados. Otro lenguaje
Más detallesSintaxis del Analizador de consultas Lucene
Sintaxis del Analizador de consultas Lucene Índice: Visión general... 2 Términos... 2 Campos... 2 Modificadores de texto... 3 Búsquedas comodín... 3 Búsquedas difusas... 4 Búsquedas de proximidad... 4
Más detallesSINTAXIS DE BÚSQUEDA PARA
SINTAXIS DE BÚSQUEDA PARA VIDOC2.0 VERSIÓN: 1 DIRECCIÓN DIVISIONAL DE SISTEMAS Y TECNOLOGÍA DE LA INFORMACIÓN Contenido 1 TÉRMINOS 4 2 CAMPOS 4 3 MODIFICADORES DE TEXTO 5 3.1 BÚSQUEDAS COMODÍN 5 3.2 BÚSQUEDAS
Más detallesAgenda. BNF y EBNF Brevemente, lo necesario para especificar el lenguaje sobre el que vamos a trabajar.
Agenda BNF y EBNF Brevemente, lo necesario para especificar el lenguaje sobre el que vamos a trabajar. JLEX y JCUP Breve descripción del las herramientas para generar el parser o analizador sintáctico.
Más detallesTEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA
1 TEMA 10. INTRODUCCCIÓN A SQL. CONSULTAS BASADAS EN UNA TABLA 1. Definición de SQL. Características 2. Selección del origen de los datos. Cláusula FROM 3. Selección de columnas. Columnas calculadas 4.
Más detallesExpresiones y sentencias
Expresiones y sentencias Expresión Construcción (combinación de tokens) que se evalúa para devolver un valor. Sentencia Representación de una acción o una secuencia de acciones. En Java, todas las sentencias
Más detallesNo todos los LRs finitos se representan mejor con ERs. Observe el siguiente ejemplo:
1 Clase 3 SSL EXPRESIONES REGULARES Para REPRESENTAR a los Lenguajes Regulares. Se construyen utilizando los caracteres del alfabeto sobre el cual se define el lenguaje, el símbolo y operadores especiales.
Más detallesProgramación en java. Estructuras algorítmicas
Programación en java Estructuras algorítmicas Estructuras algoritmicas 1. Conceptos basicos 1. Dato 2. Tipos de datos 3. Operadores 2. dsd Conceptos Basicos DATO: se considera una representación simbólica
Más detallesUniversidad de Managua
Universidad de Managua Introducción a la Programación Tema 7 Introducción a la programación en lenguaje C# Objetivos - Describir la estructura básica de un programa en Lenguaje C# - Explicar las estructuras
Más detallesMODELOS DE COMPUTACION I Preguntas Tipo Test. 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular.
MODELOS DE COMPUTACION I Preguntas Tipo Test Indicar si son verdaderas o falsas las siguientes afirmaciones: 1. El lema de bombeo puede usarse para demostrar que un lenguaje determinado es regular. 2.
Más detallesLenguaje C. Tipos de Datos Simples y Estructuras de Control
Lenguaje C Tipos de Datos Simples y Estructuras de Control Lenguaje C C es un lenguaje de programación creado en 1972 por Dennis M. Ritchie en los Laboratorios Bell como evolución del anterior lenguaje
Más detallesOrganización de Computadoras. Clase 2
Organización de Computadoras Clase 2 Temas de Clase Representación de datos Números con signo Operaciones aritméticas Banderas de condición Representación de datos alfanuméricos Notas de Clase 2 2 Representación
Más detallesEnteros. Son los números que no contienen componentes fraccionarios y, por tanto, no contienen punto decimal.
LENGUAJE DE PROGRAMACIÓN TURBO PASCAL El lenguaje de programación de alto nivel Pascal fue diseñado el 1968 por Niklaus Wirth con una finalidad eminentemente pedagógica El 1983, el Pascal fue estandarizado
Más detallesTeoría de Autómatas y Lenguajes Formales. Introducción a las Gramáticas. Gramáticas incontextuales
Teoría de utómatas y Lenguajes Formales Introducción a las ramáticas. ramáticas incontextuales José M. Sempere Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Introducción
Más detallesINTRODUCCIÓN A BASE DE DATOS. Excel - Access
INTRODUCCIÓN A BASE DE DATOS Excel - Access Qué es una Base de Datos? Conjunto de datos relacionados, es decir, conjunto de datos que hablan de lo mismo. (Guía de teléfono, clientes de una multitienda,
Más detallesProyecto Unico Interpretador de SetCalc
Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2008 Proyecto Unico Interpretador de SetCalc A continuación se describe
Más detallesTECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL
1 TECNICO SUPERIOR EN INFORMÁTICA EMPRESARIAL MÓDULO INTRUCCIONAL TECNOLOGÍA DE LA COMPUTADORA FACILITADOR: PARTICIPANTE: DAVID, CHIRIQUÍ 2015 2 Qué es un programa? Un programa informático es un conjunto
Más detalles4. Operadores Operador asignación
Programación orientada a objetos con Java 43 4. Operadores Objetivos: a) Describir los operadores (aritméticos, incrementales, de relación, lógicos y de asignación) y los tipos de dato primitivos sobre
Más detallesSentencias o instrucciones en Visual BASIC
Tecnología a de la Informació Sentencias o instrucciones en Visual BASIC REM Tecnología a de la Informació REM es una sentencia no ejecutable y permite introducir comentarios en los programas. A esta práctica
Más detallesEstatutos de Control C# Estatutos de Decisión (Selección)
SELECCIÓN Estatutos de Control C# Estatutos de Decisión (Selección) IF Condición THEN Estatuto1 ELSE Estatuto2 Estatuto1 Statement Condición... Antes de ver esta presentación: Lee el Capítulo correspondiente
Más detalles5. Modulaciones Binarias: Teoría y simulación en LabVIEW
OpenStax-CNX module: m35717 1 5. Modulaciones Binarias: Teoría y simulación en LabVIEW Mariangela Mezoa Translated By: Mariangela Mezoa This work is produced by OpenStax-CNX and licensed under the Creative
Más detalles5. Sentencias selectivas o condicionales
60 A. García-Beltrán y J.M. Arranz 5. Sentencias selectivas o condicionales Objetivos: a) Describir el funcionamiento de las sentencias selectivas o condicionales (if-else y switch) b) Interpretar el resultado
Más detallesTema 7: Programación con Matlab
Tema 7: Programación con Matlab 1. Introducción Matlab puede utilizarse como un lenguaje de programación que incluye todos los elementos necesarios. Añade la gran ventaja de poder incorporar a los programas
Más detallesClasificación y Propiedades de los Sistemas
Connexions module: m12822 1 Clasificación y Propiedades de los Sistemas Melissa Selik Richard Baraniuk Translated By: Fara Meza Erika Jackson Based on System Classications and Properties by Melissa Selik
Más detallesGENERALIDADES DEL LENGUAJE C
GENERALIDADES DEL LENGUAJE C La cadena con formato debe ir encerrada entre comillas dobles, no simples. El carácter de retorno de carro (\n) es obligatorio si se desea finalizar la impresión con un salto
Más detallesLABORATORIO DE PROCESADORES DE LENGUAJE Curso: Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison
LABORATORIO DE PROCESADORES DE LENGUAJE Curso: 2008-2009 Práctica 2: Analizador léxico/sintáctico/semántico con Flex y Bison Planteamiento del problema En esta práctica se trata de realizar, mediante el
Más detallesEscribir la expresión regular de un número entero que no acepte que el primer dígito sea cero salvo el número 0. Solución: 0 [1-9][0-9]*
Procesadores de lenguaje Ejercicios del Tema 2 Ejercicio 2.1 Sean L = {a, aa, b} y M = {ab, b }. Describe LM y M 3 por enumercaión LM = { aab, ab, aaab, bab, bb } M 3 = { ababab, ababb, abbab, abbb, babab,
Más detallesExpresiones Aritméticas. Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz
Expresiones Aritméticas Programación digital I Escuela de Sistemas Facultad de Ingeniería Gilberto Diaz Expresiones Aritméticas El computador puede realizar cálculos además de mostrar datos por pantalla.
Más detallesProcesadores de lenguaje Ejercicios Análisis semántico
Procesadores de lenguaje Ejercicios Análisis semántico Departamento de Ciencias de la Computación Universidad de Alcalá Ejercicio 1 (propuesto) A partir de gramática de abajo se pide: Mostrar el árbol
Más detallesCurso de Programación Avanzada en C
Curso de Programación Avanzada en C Copyright, 1996 Universidad Sim on Bol ivar 1 Prof. Mariela J. Curiel Contenido del Curso Conceptos BásicosB Estructuras de Control Arreglos Otros tipos de datos derivados
Más detallesCurso PHP Módulo 1 R-Luis
Lenguaje PHP Introducción Archivos HTML y PHP: Crear un archivo php es tan sencillo como cambiarle la extensión a un archivo html, por ejemplo podemos pasar de index.html a index.php sin ningún inconveniente.
Más detallesUnidad II: Análisis semántico
Unidad II: Análisis semántico Se compone de un conjunto de rutinas independientes, llamadas por los analizadores morfológico y sintáctico. El análisis semántico utiliza como entrada el árbol sintáctico
Más detallesConstantes. Variables
Constantes En el pseudocódigo la deinición de constantes generalmente se hace al principio. Es utilizada para deinir valores que nunca van a cambiar. Tipos de datos Variables Los datos que utilizan los
Más detallesInsertar Datos en Tablas
Insertar Datos en Tablas La instrucción básica para insertar valores a los atributos (columnas) de una tabla es la instrucción INSERT INTO Insertar una sola tupla Para insertar una tupla en la tabla, se
Más detallesAprender a programar con Turbo Pascal. Turbo pascal
Aprender a programar con Turbo Pascal Realizar una aplicación que realice la suma de dos números. Program suma; crt; var numero1:integer; numero2:integer; suma:integer; begin clrscr; writeln ('Escriba
Más detallesIntroducción al álgebra relacional. Con ejemplos en SQL
OpenStax-CNX module: m18351 1 Introducción al álgebra relacional. Con ejemplos en SQL Miguel-Angel Sicilia This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License
Más detallesExterior del algoritmo. Entorno. Usuario. Procesador. Escribir. v1 v2 v3. Leer. <acción> {; <acción>}
Bloque II. 2. Objetos y acciones elementales Bloque II. 2. Objetos y acciones elementales Objetivos: Familiarizarse con conceptos de entorno, objeto y tipo Entender qué significa que un objeto sea de un
Más detallesElementos de un programa en C
Elementos de un programa en C Un programa en C consta de uno o más archivos. Un archivo es traducido en diferentes fases. La primera fase es el preprocesado, que realiza la inclusión de archivos y la sustitución
Más detallesINICIACIÓN A LA PROGRAMACIÓN II
INICIACIÓN A LA PROGRAMACIÓN II 1. Caracteres... 2 2. Identificadores... 4 3. Palabras clave o reservadas... 5 4 Variables y constantes. Datos... 6 5 Arrays... 8 6. Comentarios... 9 7. Expresiones... 11
Más detallesManual de turbo pascal
Universidad Nacional Experimental De Los Llanos Occidentales Ezequiel Zamora UNELLEZ-Barinas Manual de turbo pascal Bachilleres: Martinez Ninibeth C.I:20.867.002 Mora Yaco C.I:17.205.073 Estructura de
Más detallesInstituto Tecnológico de Celaya
CADENAS DE CARACTERES Hasta ahora se han manejado variables de tipo caracter cuyo valor es un sólo caracter. En algunos casos, sin embargo, es necesario usar variables cuyos valores sean un conjunto (cadena)
Más detalles1. Computadores y programación
1. Computadores y programación Informática y computadora (RAE) Informática (Ciencia de la computación) Conjunto de conocimientos científicos y técnicos que hacen posible el tratamiento automático de la
Más detallesReingeniería con Netbeans
OpenStax-CNX module: m17590 1 Reingeniería con Netbeans Miguel-Angel Sicilia This work is produced by OpenStax-CNX and licensed under the Creative Commons Attribution License 2.0 Abstract Descripción de
Más detallesMANEJO DE EXPRESIONES REGULARES
Procesadores de lenguajes Ejercicios del Tema 2 MANEJO DE EXPRESIONES REGULARES Ejercicio 2. Escriba expresiones regulares para los siguientes lenguajes: a) Comentarios que comiencen por
Más detallesTema 2. El lenguaje de programación Java (Parte 1)
Programación en Java Tema 2. El lenguaje de programación Java (Parte 1) Luis Rodríguez Baena Facultad de Informática Elementos del lenguaje (I) El juego de caracteres. No utiliza ASCII, sino Unicode de
Más detallesUNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO
UNIVERSIDAD TECNOLÓGICA NACIONAL FACULTAD REGIONAL CÓRDOBA EL LENGUAJE DE LOS DATOS EN LA PC Y SU FORMA DE ALMACENAMIENTO TRABAJO REALIZADO COMO APOYO PARA LA CATEDRA INFORMATICA I Autora: Ing. Ing. Sylvia
Más detallesOPERADORES Y EXPRESIONES
OPERADORES Y EXPRESIONES Una expresión es una combinación de variables, literales y operadores, que representan un valor Operadores aritméticos Operador Función + suma - resta * producto / división % operador
Más detallesPL/SQL. Con PL/SQL vamos a poder programar las unidades de programa de la base de datos Oracle:
PL/SQL (Procedural Language/Structured Query Language) PL/SQL es el lenguaje de programación que proporciona Oracle para extender el SQL estándar con otro tipo de instrucciones y elementos propios de los
Más detallesOPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B)
APRENDERAPROGRAMAR.COM OPERADORES LÓGICOS Y DE COMPARACIÓN EN PHP. PRIORIDADES. EJEMPLOS. EJERCICIOS RESUELTOS. (CU00818B) Sección: Cursos Categoría: Tutorial básico del programador web: PHP desde cero
Más detalles6 CARACTERES Y CADENAS. 6.1 Caracteres y cadenas
6 CARACTERES Y CADENAS 6.1 Caracteres y cadenas En el capítulo 1 se indicó cómo tratar con variables y constantes carácter en Fortran 90/95. Recordar que la declaración de este tipo de variables, como
Más detallesAlgunos ejercicios de Ampliación de Cálculo
Algunos ejercicios de Ampliación de Cálculo Pedro Fortuny Ayuso septiembre-diciembre 2012 fortunypedro@uniovi.es 26 de noviembre de 2015 BY: CC Copyright c 2011 2015 Pedro Fortuny Ayuso This work is licensed
Más detallesObjetivos. Contenidos. Revisar los principales conceptos de la lógica de primer orden
Especificación TEMA 1 formal de problemas Objetivos Revisar los principales conceptos de la lógica de primer orden Entender el concepto de estado de cómputo y cómo se modela con predicados lógicos Familiarizarse
Más detallesFicha de Aprendizaje N 13
Ficha de Aprendizaje N 13 Curso: Lógica y lenguaje de programación Tema: Fundamentos de programación Duración: 2 horas pedagógicas Logros de aprendizaje Identifica los diferentes tipos de operadores que
Más detallesIntroducción a Códigos
Introducción a Página 1 Agenda Página 2 numéricos posicionales numéricos no posicionales Construcción de cantidades Sistema decimal Sistema binario binarios alfanuméricos Conversión decimal a binario Conversión
Más detallesU i n d id d a 3. El Element os á bá i s cos de un programa
Programación Digital U id d 3 El t bá i Unidad 3. Elementos básicos de un programa 1. Concepto de Programa Es un conjunto de instrucciones (órdenes dadas a la computadora), que producirán la ejecución
Más detallesComparando las células procariotas y eucariotas
OpenStax-CNX module: m53336 1 Comparando las células procariotas y eucariotas OpenStax College Based on Comparing Prokaryotic and Eukaryotic Cells by OpenStax College This work is produced by OpenStax-CNX
Más detallesHoja de ejercicios del Tema 3
Facultad de Informática Universidad Complutense Fundamentos de la programación Curso 2013 2014 Hoja de ejercicios del Tema 3 1. Conversiones de tipos: Prueba el siguiente programa en tu compilador (copia
Más detallesANÁLISIS SEMÁNTICO. Especificación formal: Semántica Operacional, semántica denotacional, semántica Axiomática, Gramáticas con Atributos.
ANÁLISIS SEMÁNTICO El análisis semántico dota de un significado coherente a lo que hemos hecho en el análisis sintáctico. El chequeo semántico se encarga de que los tipos que intervienen en las expresiones
Más detallesGuía práctica de estudio 06: Lenguaje binario
Guía práctica de estudio 06: Lenguaje binario Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Guía práctica de estudio 06: Lenguaje binario
Más detallesPráctica 1 de Excel (Curso )
Práctica 1 de Excel (Curso 2009-2010) Definición: Excel es una aplicación del tipo hoja de cálculo, integrada en el entorno Windows y desarrollada por Microsoft, en la cual se combinan las capacidades
Más detallesCentro Asociado Palma de Mallorca. Tutor: Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Arquitectura de Ordenadores Tutor: Antonio Rivero Cuesta Unidad Didáctica 1 Representación de la Información y Funciones Lógicas Tema 1 Representación de la Información
Más detallesDatos y tipos de datos
Datos y tipos de datos Dato Representación formal de hechos, conceptos o instrucciones adecuada para su comunicación, interpretación y procesamiento por seres humanos o medios automáticos. Tipo de dato
Más detallesOperadores. Javier Fernández Rivera -
Programación en C Operadores Javier Fernández Rivera - www.aurea.es Los operadores Son los elementos o caracteres gráficos encargados de manipular los datos, que pueden ser dados por números, caracteres,
Más detallesUniversidad de Guadalajara del 24 al 26 de Octubre del 2012.
Primer Congreso Mexicano de Investigación de Operaciones Se celebrará en las instalaciones de la Universidad de Guadalajara del 24 al 26 de Octubre del 2012. Fecha límite de registro de participantes y
Más detallesPontificia Universidad Católica del Ecuador
1. DATOS INFORMATIVOS: MATERIA O MÓDULO: PROGRAMACIÓN DE COMPUTADORAS CÓDIGO: : 14303 CARRERA: INGENIERIA CIVIL NIVEL: SEGUNDO No. CRÉDITOS: 4 CRÉDITOS TEORÍA: 2 SEMESTRE/AÑO ACADÉMICO: Agosto Diciembre
Más detallesTEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES TRABAJO DE PRÁCTICAS. Convocatoria de junio de 2013
TEORÍA DE AUTÓMATAS Y LENGUAJES FORMALES Ingeniería Técnica en Informática de Sistemas Segundo curso Departamento de Informática y Análisis Numérico Escuela Politécnica Superior Universidad de Córdoba
Más detallesJava para no Programadores
Java para no Programadores Programa de Estudio Java para no Programadores Aprende a programar con una de las tecnologías más utilizadas en el mercado de IT. Este curso está orientado a quienes no tienen
Más detalles