TEMA 2: PARSERS Y CONSTRUCCIÓN DEL ÁRBOL DE SINTAXIS ABSTRACTA PARA L-0
|
|
- Julia Saavedra Torres
- hace 6 años
- Vistas:
Transcripción
1 TEMA 2: PARSERS Y CONSTRUCCIÓN DEL ÁRBOL DE SINTAXIS ABSTRACTA PARA L-0 En este tema se divide en tres secciones: (1) la definición el analizador léxico de L-0, (2) el conjunto de reglas sintácticas de L-0 y (3) el analizador sintáctico extendido para la construcción del árbol de sintaxis abstracta del lenguaje L-0. En las tres secciones usamos ANTLR. 1.- ANÁLISIS LÉXICO DE L-0 class Analex extends Lexer options{ // Importación del vocabulario de tokens desde el analizador // sintáctico (Anasint.g) importvocab=anasint // Por defecto no se activa la comprobación de literales // declarados en la sección tokens testliterals=false //2 símbolos de anticipación para tomar decisiones //(los tokens DP y ASIG justifican su necesidad) k=2 } tokens{ // Palabras reservas (unidad de programa) MODULO="modulo" // Palabras reservadas (instrucciones compuestas) // palabras reservadas en condicionales SI="si" ENTONCES="entonces" SINO="sino" FINSI="finsi" // palabras reservadas en iteraciones MIENTRAS="mientras" HACER="hacer" FINMIENTRAS="finmientras" // Palabras reservadas (devolución resultado) DEV="dev" // Palabras reservadas (visibilidad) OCULTO="oculto" // Palabras reservadas (clase instanciable) INST="inst"
2 // Palabras reservas (tipos predefinidos simples) ENTERO="entero" REAL="real" LOGICO="logico" CARACTER= caracter // Palabras reservas (tipos predefinidos compuestos) FORMACION="formacion" // Palabras reservas (tipos no predefinidos) CLASE="clase" // Palabras reservadas (literales lógicos) CIERTO="cierto" FALSO="falso" } // Palabras reservadas (operadores lógicos) Y="y" O="o" NO="no" //Tokens inútiles para el análisis sintáctico //(B)lancos y (T)abuladores BT : (' ' '\t') {$settype(token.skip)} //(S)altos de (L)inea SL : "\r\n" {newline()$settype(token.skip)} // Comentario de línea COMENT_LIN: "//" (('\r')+ ~('\n') ~('\r') )* "\r\n" {newline()$settype(token.skip)} // Signos de puntuación DOS_PUNTOS : ':' //(D)os (P)untos PARENTESIS_ABIERTO : '(' // (P)arentesis (A)bierto PARENTESIS_CERRADO : ')' // (P)arentesis (C)errado LLAVE_ABIERTA: '{' // (LL)ave (A)bierta LLAVE_CERRADA: '}' // (LL)ave (C)errada CORCHETE_ABIERTO: '[' // (COR)chete (A)bierto CORCHETE_CERRADO: ']' // (COR)chete (C)errado COMA: ',' // (CO)ma PUNTO_Y_COMA: '' // (PU)nto y (C)oma PUNTO:'.' // (PU)nto // Operadores aritméticos MAS: '+' MENOS: '-' POR: '*' DIVISION: '/' // Operadores relacionales MENOR:'<'
3 MENOR_IGUAL:"<=" MAYOR:'>' MAYOR:IGUAL:">=" IGUAL: '=' DISTINTO: "!=" // Asignación ASIGNACION : ":=" // Lexemas auxiliares protected DIGITO: ('0'..'9') protected LETRA: ('a'..'z' 'A'..'Z') // Literales Enteros y Reales NUMERO : ((DIGITO)+ '.') => (DIGITO)+ '.' (DIGITO)+ {$settype(lit_real)} ((DIGITO)+) => (DIGITO)+ {$settype(lit_entero)} //Literales Carácter LIT_CAR: \! (~( \ \n \r \t )) \! // Lexema IDENT (Identificadores) // Se activa la comprobación de palabras reservadas. // Las palabras reservadas tienen preferencia a cualquier otro identificador. IDENT options {testliterals=true}: LETRA(LETRA DIGITO)*
4 2.- REGLAS PARA EL ANÁLISIS SINTÁCTICO DE L-0 ///////////////////////////////////////////////////////// // DECLARACION DE MODULO ///////////////////////////////////////////////////////// declaracion_modulo : nombre_modulo definicion_modulo EOF nombre_modulo : MODULO IDENT definicion_modulo : lista_declaraciones_clases lista_declaraciones_clases : (declaracion_clase)+ // DECLARACIÓN DE CLASE declaracion_clase : cualificador_clase nombre_clase definicion_clase cualificador_clase: INST nombre_clase : CLASE IDENT definicion_clase : LLAVE_ABIERTA declaraciones_elemento_clase LLAVE_CERRADA // La definición de la clase se completa con declaraciones de // atributos y métodos. declaraciones_elemento_clase : (declaracion_elemento_clase)* declaracion_elemento_clase : cualificador_elemento_clase
5 ((IDENT PARENTESIS_ABIERTO) => declaracion_metodo tipo IDENT PUNTO_Y_COMA cualificador_elemento_clase: OCULTO // Declaración de método consta de prototipo y definición // Prototipo o perfil de la operación. // Definición de método compuesto de declaración de // variables locales e instrucciones. declaracion_metodo : prototipo_metodo definicion_metodo prototipo_metodo: IDENT PARENTESIS_ABIERTO declaracion_parametros PARENTESIS_CERRADO (DEV tipo)? declaracion_parametros : declaracion_parametro (COMA declaracion_parametro)* declaracion_parametro : tipo IDENT definicion_metodo : LLAVE_ABIERTA declaraciones_variables_locales bloque LLAVE_CERRADA declaraciones_variables_locales : (declaracion_variables_locales tipo IDENT) => declaracion_variables_locales declaraciones_variables_locales (declaracion_variables_locales) => declaracion_variables_locales declaracion_variables_locales : tipo lista_nombres_variables_locales PUNTO_Y_COMA
6 lista_nombres_variables_locales : nombre_variable_local (COMA nombre_variable_local)* nombre_variable_local : IDENT // INSTRUCCIONES // Instrucciones simples en L-0: asignacion, retorno, // llamada a método // Instrucciones compuestas en L-1: condicional e iteración instrucciones : (instruccion)* instruccion: instruccion_simple PUNTO_Y_COMA instruccion_compuesta instruccion_simple : (expresion ASIGNACION) => asignacion llamada_metodo retorno instruccion_compuesta : condicion iteracion // Asignación. asignación : expresion ASIGNACION expresion // Devolución de resultado. retorno : DEV expresion // Llamada a método (procedimiento) llamada_metodo : acceso PARENTESIS_ABIERTO lista_expresiones PARENTESIS_CERRADO
7 // Lista de expresiones lista_expresiones : expresion (COMA expresion)* // Condicional: si condicion entonces... en otro caso... condicion : SI PARENTESIS_ABIERTO expresion PARENTESIS_CERRADO ENTONCES bloque (SINO bloque)? FINSI // Iteración: mientras condicion hacer... iteracion : MIENTRAS PARENTESIS_ABIERTO expresion PARENTESIS_CERRADO HACER bloque FINMIENTRAS // Bloque de instrucciones en instrucciones compuestas y métodos bloque: instrucciones // // EXPRESIONES / // Reglas para cubrir estructuralmente una expresión en L-0 // Las expresiones pueden ser: lógicas, aritméticas (enteras // o reales) o de carácter / expresion : expresion_nivel_1 (O expresion_nivel_1)* expresion_nivel_1 : expresion_nivel_2 (Y expresion_nivel_2)* expresion_nivel_2 : NO expresion_nivel_2 expresion_nivel_3 expresion_nivel_3 : expresion_nivel_4 ((MAYOR MAYOR_IGUAL MENOR MENOR_IGUAL IGUAL DISTINTO) expresion_nivel_4)? expresion_nivel_4 : expresion_nivel_5 ((MAS MENOS) expresion_nivel_5)* expresion_nivel_5 : expresion_nivel_6 ((POR DIVISION) expresion_nivel_6)* expresion_nivel_6 : MENOS expresion_nivel_6
8 expresion_nivel_7 expresion_nivel_7 : PARENTESIS_ABIERTO expresion PARENTESIS_CERRADO (acceso PARENTESIS_ABIERTO) => llamada_metodo (acceso CORCHETE_ABIERTO) => acceso_tabla acceso LIT_ENTERO LIT_REAL LIT_CAR CIERTO FALSO // Acceso a un elemento de una formación acceso_tabla: acceso CORCHETE_ABIERTO lista_expresiones_nv CORCHETE_CERRADO // Accesos simples y a objetos (máximo un nivel) acceso: (IDENT PUNTO) => IDENT PUNTO IDENT IDENT // Lista no vacía de expresiones lista_expresiones_nv : expresion (COMA expresion)* ////////////////////////////////////////////////////////// // TIPOS ///////////////////////////////////////////////////////// // L-0 dispone de tipos predefinidos básicos, tipos // predefinidos compuestos y clases definidas por el // programador. ///////////////////////////////////////////////////////// tipo : tipo_predefinido_simple tipo_predefinido_compuesto IDENT // Los tipos básicos o predefinidos en L-0 son: // entero, real, carácter y lógico tipo_predefinido_simple : ENTERO REAL
9 LOGICO CARACTER tipo_predefinido_compuesto : formacion formacion : FORMACION lista_enteros (tipo_predefinido_simple IDENT) lista_enteros : LIT_ENTERO (COMA LIT_ENTERO)*
10 3.- ANÁLISIS SINTÁCTICO Y CONSTRUCCIÓN DEL ASA DE L-0 header{ import java.util.* import antlr.* } class Anasint extends Parser options{ buildast=true } tokens{ } { } PROGRAMA VISIBLE NO_INST ATRIBUTO METODO PROTOTIPO PARAMETRO PARAMETROS EXPRESIONES RESULTADO DEFINICION VACIO VARIABLE_LOCAL VARIABLES_LOCALES INSTRUCCION INSTRUCCIONES MENOSUNARIO LLAMADA ACCESO_TABLA ACCESO_OBJETO ACCESO_SIMPLE LISTA_ENTEROS ///////////////////////////////////////////////////////// // DECLARACION DE MODULO /////////////////////////////////////////////////////////
11 MODULO IDENT CLASE + declaracion_modulo! : n:nombre_modulo d:definicion_modulo EOF { #declaracion_modulo = #(#[MODULO,"modulo"],#n, #d) } nombre_modulo : MODULO! IDENT definicion_modulo : lista_declaraciones_clases lista_declaraciones_clases : (declaracion_clase)+ // DECLARACIÓN DE CLASE CLASE IDENT INST / NO INST * METODO/ATRIBUTO declaracion_clase! : c:cualificador_clase n:nombre_clase d:definicion_clase { #declaracion_clase = #(#[CLASE,"clase"],#n,#c,#d) } cualificador_clase! : INST {#cualificador_clase = #(#[INST])} {#cualificador_clase = #(#[NO_INST,"no_inst"])} nombre_clase : CLASE! IDENT definicion_clase :
12 LLAVE_ABIERTA! declaraciones_elemento_clase LLAVE_CERRADA! declaraciones_elemento_clase : (declaracion_elemento_clase)* ////////////////////////////////////////////////// // DECLARACIÓN DE ELEMENTO CLASE: MÉTODO O ATRIBUTO ////////////////////////////////////////////////// METODO PROTOTIPO DEFINICION OCULTO/VISIBLE IDENT PARAMETROS RESULTADO VARIABLES_LOCALES INSTRUCCIONES PARAMETRO * * * tipo / VACIO VARIABLE_LOCAL INSTRUCCION ATRIBUTO IDENT tipo OCULTO/VISIBLE declaracion_elemento_clase! : c:cualificador_elemento_clase ((IDENT PARENTESIS_ABIERTO) => a:declaracion_metodo { #declaracion_elemento_clase = #(#[METODO,"metodo"],#a,#c) } t:tipo i:ident PUNTO_Y_COMA { #declaracion_elemento_clase = #(#[ATRIBUTO,"atributo"],#i,#t,#c) }) // Cualificador de visibilidad cualificador_elemento_clase! : OCULTO {#cualificador_elemento_clase = #(#[OCULTO])}
13 {#cualificador_elemento_clase = #(#[VISIBLE,"visible"])} declaracion_metodo : prototipo_metodo definicion_metodo prototipo_metodo! : i:ident PARENTESIS_ABIERTO p:declaracion_parametros PARENTESIS_CERRADO (DEV t:tipo {#prototipo_metodo = #(#[PROTOTIPO, prototipo ],#i,#(#[parametros,"parametros"],#p), #(#[RESULTADO,"resultado"],#t))} {#prototipo_metodo = #(#[PROTOTIPO, prototipo ],#i,#(#[parametros,"parametros"],#p), #(#[RESULTADO,"resultado"],#[VACIO, vacio ]))} ) declaracion_parametros : declaracion_parametro (COMA! declaracion_parametro)* // DECLARACIÓN DE PARÁMETRO PARAMETRO IDENT tipo declaracion_parametro!: t:tipo i:ident {#declaracion_parametro = #(#[PARAMETRO, parametro ],#i,#t)} definicion_metodo! : LLAVE_ABIERTA d: declaraciones_variables_locales b: bloque LLAVE_CERRADA {#definicion_metodo= #(#[DEFINICION, definicion ],#(#[VARIABLES_LOCALES, variables_locales ],#d), #b)}
14 declaraciones_variables_locales : (declaracion_variables_locales tipo IDENT) => declaracion_variables_locales declaraciones_variables_locales (declaracion_variables_locales) => declaracion_variables_locales declaracion_variables_locales : t:tipo! lista_nombres_variables_locales[#t] PUNTO_Y_COMA! lista_nombres_variables_locales [AST t] : nombre_variable_local[#t] (COMA! nombre_variable_local[#t])* ////// // DECLARACIÓN DE VARIABLE LOCAL /////// VARIABLE_LOCAL IDENT tipo nombre_variable_local! [AST t] : i:ident { #nombre_variable_local = #(#[VARIABLE_LOCAL,"variable_local"],#i,#t) } // INSTRUCCIONES instrucciones : (instruccion)* instruccion! : i:instruccion_simple PUNTO_Y_COMA {#instruccion=#(#[instruccion,"instruccion"],#i)} j:instruccion_compuesta {#instruccion=#(#[instruccion,"instruccion"],#j)} instruccion_simple : (expresion ASIGNACION) => asignacion llamada_metodo retorno
15 instruccion_compuesta : condicion iteracion ASIGNACION expresion expresion asignacion! : e1:expresion ASIGNACION e2:expresion { #asignacion = #(#[ASIGNACION],#e1,#e2) } DEV expresion retorno! : DEV e:expresion { #retorno = #(#[DEV],#e) } LLAMADA acceso EXPRESIONES expresion * llamada_metodo! : i:acceso PARENTESIS_ABIERTO s:lista_expresiones PARENTESIS_CERRADO { #llamada_metodo = #(#[LLAMADA,"llamada"],#i,#(#[EXPRESIONES, expresiones ],#s)) }
16 lista_expresiones : expresion (COMA! expresion)* SI expresion INSTRUCCIONES INSTRUCCIONES INSTRUCCION * INSTRUCCION * condicion : SI^ PARENTESIS_ABIERTO! expresion PARENTESIS_CERRADO! ENTONCES! bloque (SINO! bloque)? FINSI! MIENTRAS expresion INSTRUCCIONES INSTRUCCION * iteracion : MIENTRAS^ PARENTESIS_ABIERTO! expresion PARENTESIS_CERRADO! HACER! bloque FINMIENTRAS! bloque!: i:instrucciones {#bloque=#(#[instrucciones, instrucciones ],#i)} // // EXPRESIONES / expresion : expresion_nivel_1 (O^ expresion_nivel_1)*
17 expresion_nivel_1 : expresion_nivel_2 (Y^ expresion_nivel_2)* expresion_nivel_2 : NO^ expresion_nivel_2 expresion_nivel_3 expresion_nivel_3 : expresion_nivel_4 ((MAYOR^ MAYOR_IGUAL^ MENOR^ MENOR_IGUAL^ IGUAL^ DISTINTO^) expresion_nivel_4)? expresion_nivel_4 : expresion_nivel_5 ((MAS^ MENOS^) expresion_nivel_5)* expresion_nivel_5 : expresion_nivel_6 ((POR^ DIVISION^) expresion_nivel_6)* expresion_nivel_6 : MENOS i:expresion_nivel_6 {#expresion_nivel_6=#(#[menosunario,"menosunario"],#i)} j:expresion_nivel_7 {#expresion_nivel_6=#j} expresion_nivel_7 : PARENTESIS_ABIERTO! expresion PARENTESIS_CERRADO! (acceso PARENTESIS_ABIERTO) => llamada_metodo (acceso CORCHETE_ABIERTO) => acceso_tabla acceso LIT_ENTERO LIT_REAL LIT_CAR CIERTO FALSO ////////////////////// // ACCESOS A ELEMENTOS DE FORMACIONES //////////////////////
18 ACCESO_TABLA acceso EXPRESIONES expresion + acceso_tabla! : c:acceso CORCHETE_ABIERTO d:lista_expresiones_nv CORCHETE_CERRADO {#acceso_tabla =#(#[ACCESO_TABLA,"acceso_tabla"], #c, #(#[EXPRESIONES, expresiones ],#d))} /// // ACCESOS SIMPLES Y A OBJETOS /// ACCESO_SIMPLE ACCESO_OBJETO IDENT ACCESO_SIMPLE IDENT IDENT acceso: (IDENT PUNTO)=> i1:ident PUNTO i2:ident {#acceso=#(#[acceso_objeto,"acceso_objeto"],#(#[acceso_simple],#i1),#i2)} i:ident {#acceso=#(#[acceso_simple,"acceso_simple"],#i)} lista_expresiones_nv : expresion (COMA! expresion)* ////////////////////////////////////////////////////////// // TIPOS ///////////////////////////////////////////////////////// tipo : tipo_predefinido_simple tipo_predefinido_compuesto IDENT
19 tipo_predefinido_simple : ENTERO REAL LOGICO CARACTER tipo_predefinido_compuesto : formacion FORMACION LISTA_ENTEROS Tipo * LIT_ENTERO formación! : FORMACION l:lista_enteros ( t:tipo_predefinido_simple {#formacion = #(#[FORMACION],#(#[LISTA_ENTEROS, lista_enteros ],#l),#t)} i:ident {#formacion = #(#[FORMACION],#(#[LISTA_ENTEROS, lista_enteros ],#l),#i)} ) lista_enteros : LIT_ENTERO (COMA! LIT_ENTERO)*
ANÁLISIS LÉXICO-SINTÁCTICO
1 ANÁLISIS LÉXICO-SINTÁCTICO OBJETIVO Problemas para consolidar el diseño y construcción de analizadores léxico-sintácticos. PROBLEMA 1: LENGUAJE EXPL Supongamos un lenguaje de expresiones lógicas llamado
Más detallesANÁLISIS LÉXICO-SINTÁCTICO
1 ANÁLISIS LÉXICO-SINTÁCTICO OBJETIVO Problemas para consolidar el diseño y construcción de analizadores léxico-sintácticos. PROBLEMA 1: LENGUAJE EXPL Supongamos un lenguaje de expresiones lógicas llamado
Más detallesTEMA 3: ANÁLISIS SEMÁNTICO
1 TEMA 3: ANÁLISIS SEMÁNTICO OBJETIVO Dar respuesta a las siguientes preguntas: Qué es el análisis semántico de un lenguaje? Cómo se diseña y construye un analizador semántico? EL PROBLEMA DEL CÁLCULO
Más detallesTEMA 2: ANÁLISIS LÉXICO-SINTÁCTICO
1 TEMA 2: ANÁLISIS LÉXICO-SINTÁCTICO OBJETIVO Dar respuesta a las siguientes preguntas: Qué es el análisis léxico-sintáctico de un lenguaje? Cómo se diseña y construye un analizador léxico-sintáctico?
Más detallesCompiladores: Análisis Léxico. Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V.
Compiladores: Análisis Léxico Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. Análisis Léxico Programa Lenguaje Fuente Análisis Léxico (Token, Lexema)
Más detallesPROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 4
PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 4 En esta práctica trabajaremos con ANTLR a nivel semántico utilizando gramáticas con atributos. ANTLR permite implementar con facilidad los dos modelos
Más detallesVARIABLES AUTOMÁTICAS
VARIABLES AUTOMÁTICAS Perl es un lenguaje muy flexible y con unas instrucciones muy potentes y útiles. Uno de los aspectos más destacables en este sentido es el de las expresiones regulares, hay multitud
Más detallesJavaScript Básico. Elementos Básicos: Comentarios: Literales: Valores que puede tomar una variable o una constante.
Javascript (II) 1 Elementos Básicos: Comentarios: Para una línea // Esto es un Comentario Para un bloque /*......... */ Literales: Valores que puede tomar una variable o una constante. Ejemplos: "Soy una
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 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 detallesPROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 1
PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 1 Esta práctica supone la primera toma de contacto con la herramienta ANTLR (ANother Tool for Language Recognition). ANTLR es una herramienta que integra
Más detallesÁrboles de Sintaxis Abstracta en ANTLR
Árboles de Sintaxis Abstracta en ANTLR Antlr permite construir árboles de sintaxis abstracta (ASA) mediante anotaciones en la gramática indicando qué tokens deben tratarse como raíces de subárboles, cuáles
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 detallesPROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 5
PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 5 En esta práctica estudiaremos los mecanismos que proporciona ANTLR para crear árboles de sintaxis abstracta. Estos aspectos (junto con la notación
Más detallesTema 2: Análisis léxico
Tema 2: Análisis léxico Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 2: Análisis léxico 1 / 22 Fundamentos del análisis
Más detallesANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa
ANÁLISIS LÉXICO Ing. Ronald Rentería Ayquipa ANALIZADOR LÉXICO (AL) El Analizador léxico (scanner), lee la secuencia de caracteres del programa fuente, caracter a caracter, y los agrupa para formar unidades
Más detallesCentro Asociado Palma de Mallorca. Antonio Rivero Cuesta
Centro Asociado Palma de Mallorca Antonio Rivero Cuesta La Sintaxis de Java I... 5 Tipos de datos... 6 Tipos de datos simples... 7 Operadores... 11 Operadores Aritméticos... 12 Operadores relacionales...
Más detallesSintaxis de PSeInt Tutorial
Sintaxis de Tutorial Introducción a la Programación (T.U.M - T.U.G. - T.U.E. - T.U.T. - Prof) Introducción a la Computación (T.U.R. - T.U.W.) Fundamentos de la Informática (Ing. en Minas - Ing. Electr.)
Más detallesCurso de Java Introducción a la Programación II
Curso de Java Introducción a la Programación II Jaime Fernández Martín Curso INEM 02830. Programación en Java Marzo 2010 Índice 1 Tipos Java 2 Decalaración de variables 3 Operadores aritméticos Índice
Más detallesPROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 1
PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 1 ANTLR es una herramienta que integra la generación de analizadores léxicos, sintácticos, árboles de sintaxis abstracta y evaluadores de atributos.
Más detallesTema 2.- Expresiones y funciones
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 detallesPROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 6
PROCESADORES DE LENGUAJES I PRÁCTICA DE LABORATORIO 6 En esta práctica veremos cómo recorrer árboles de sintaxis abstracta con ANTLR. La notación utilizada nos va a resultar familiar ya que comparte muchos
Más detallesPROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez
PROGRAMACIÓN ORIENTADA A OBJETOS (L40629) Sabino Miranda-Jiménez Elementos de lenguaje: Identificadores Tipos de datos 2 Tipos de datos primitivos 3 Tipos de datos referenciados Clases Interfaces Arrays
Más detallesSintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno
1.1. Gramática Léxica 1.1.1. Elementos Léxicos Sintaxis de C Ing. Jose Maria Sola Dr. Oscar Ricardo Bruno ->
Más detallesComprender las diferencias entre tipos de datos primitivos similares, y aprender a elegir el tipo más conveniente en cada caso.
Elementos básicos de programación en Java Objetivos del tema Conocer la estructura básica de un programa Java. Comprender los conceptos de tipo, valor y variable. Comprender las diferencias entre tipos
Más detallesCompiladores: Introducción
Compiladores: Introducción Pontificia Universidad Javeriana Cali Ingeniería de Sistemas y Computación Prof. Gloria Inés Alvarez V. (galvarez@puj.edu.co) Basado en [Aho, 2007, chp. 1] Qué es un COMPILADOR?
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 detallesLENGUAJE DE PSEUDOCÓDIGO
LENGUAJE DE PSEUDOCÓDIGO METODOLOGÍA DE LA PROGRAMACIÓN Ingeniería Informática Primer curso, segundo cuatrimestre Escuela Politécnica Superior de Córdoba Universidad de Córdoba 1 Contenido 1. Sentencias...
Más detallesFuncionamiento del A.L.
ANALIZADOR LEXICO 1 Funcionamiento del A.L. Programa fuente Analizador léxico Componente léxico Obtén el siguiente componente léxico Analizador sintáctico Tabla de símbolos 2 Maneja el fichero del programa
Más detallesAgradecimientos. Nota de los autores. 1 Problemas, algoritmos y programas 1
Prologo Agradecimientos Nota de los autores Índice general I III V VII 1 Problemas, algoritmos y programas 1 1.1 Programas y la actividad de la programación.................... 4 1.2 Lenguajes y modelos
Más detallesTema 2: Desarrollo de Algoritmos. E.E. de Algorítmica
Tema 2: Desarrollo de Algoritmos E.E. de Algorítmica Temas a tratar Identificadores Variables Constantes Tipos de Datos Separadores Operadores Aritméticos Unarios Relacionales y Condicionales Nivel de
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 detallesInformática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales
UNA / AREA TRANSDEPARTAMENTAL DE ARTES MULTIMEDIALES Licenciatura en Artes Multimediales Informática General 2016 Cátedra: Valeria Drelichman, Pedro Paleo, Leonardo Nadel, Norma Morales JavaScript Algoritmo
Más detallesEstructura de datos y Programación
Estructura de datos y Programación Tema: Conceptos Básicos- Estructuras de control - Arreglos Ing. Analia Méndez Ing. Raquel Zarco Año: 2012 ELEMENTOS DE UN PROGRAMA EN JAVA El programa Java consta de
Más detallesPRÁCTICA DE PROCESADORES DE LENGUAJE EVALUACIÓN ORDINARIA CURSO 2009/2010 OBJETIVO DE LA PRÁCTICA
PRÁCTICA DE PROCESADORES DE LENGUAJE EVALUACIÓN ORDINARIA CURSO 2009/2010 OBJETIVO DE LA PRÁCTICA El objetivo de la práctica es desarrollar un compilador utilizando las herramientas flex y bison y el lenguaje
Más detallesLicenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF
Licenciatura de Matemáticas Informática I Notación algorítmica - Descripción BNF Dpto. Informática Noviembre 1998 1. Deniciones en forma BNF < > Símbolos no terminales. Declaraciones u objetos declarados
Más detallesComponentes Básicos. InCo. InCo Componentes Básicos 1 / 28
Componentes Básicos InCo InCo Componentes Básicos 1 / 28 Modelo de Computación Vemos al computador como un procesador de datos. +------------+ Entrada ===> Computador ===> Salida +------------+ InCo Componentes
Más detallesALGORÍTMICA. Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid.
ALGORÍTMICA Dpto. Ingeniería de Sistemas y Automática Facultad de Ciencias Universidad de Valladolid. Indíce Algoritmo Elementos de un algoritmo: Variables, Constantes, Expresiones Datos: Definición y
Más detallesDiseño de Compiladores I. Estructura General de un Compilador
Diseño de Compiladores I Estructura General de un Compilador PROGRAMA FUENTE COMPILADOR SALIDA Mensajes de Error 2 Un compilador es un programa que traduce un programa escrito en lenguaje fuente y produce
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 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 detallesLENGUAJE. Tema 2 Elementos de un programa
LENGUAJE Tema 2 Elementos de un programa ELEMENTOS DE UN PROGRAMA Comentarios. Identificadores. Constantes. Variables. Operadores. Sentencias o instrucciones. COMENTARIOS Los comentarios en C pueden ocupar
Más detallesFundamentos PHP. El término puntuación nos referimos a la sintaxis usada en PHP para la terminación de una línea de código (;)
Tags Fundamentos PHP La Sintaxis de PHP se deriva de muchos lenguajes de programación principalmente de C pero Perl también ha tenido mucha influencia en esta sintaxis Con las últimas incorporaciones agregadas,
Más detallesProgramación 1 Tema 3. Información, datos, operaciones y expresiones
Programación 1 Tema 3 Información, datos, operaciones y expresiones Índice Datos y tipos de datos Datos primitivos en C++ Expresiones e instrucción de asignación Datos y tipos de datos Problema información
Más detallesJava. Introducción a la Programación Orientada a Objetos
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Más detallesVARIABLES, CONSTANTES Y EXPRESIONES ASIGNACIÓN. TIPOS ELEMENTALES. PRECEDENCIA DE LOS ESTRUCTURAS DE CONTROL. CONDICIONAL E
Java Java es un lenguaje de programación presentado en 1995 enfocado a: soportar los fundamentos de la programación orientada a objetos. generar código independiente de la arquitectura de la computadora
Más detallesCOMPILADORES E INTERPRETES
COMPILADORES E INTERPRETES Análisis semántico: Estudia el significado de la sentencia Procesadores de lenguaje: Convierte un programa fuente hecho en un lenguaje fuente a un programa objeto hecho en un
Más detallesINTRODUCCIóN A LA PROGRAMACIóN APUNTES DE JAVA APUNTES DE JAVA
APUNTES DE JAVA FUNCIONAMIENTO DE UN PROGRAMA Assembler Ensamblador Ejecuta Programador Programa fuente BASIC Interprete Ejecuta C, C++, Pascal Compilador Compila Ejecuta Programa fuente Programa Objeto
Más detallesBasic Object Oriented Programming (BOOP) Gramática del Lenguaje. Ever Mitta Flores
Ever Mitta Flores Índice 1. Clase @Principal...3 2. Comentarios...3 3. Definición de Atributos...3 4. Definición de Métodos...4 5. Declaración de Variables...4 6. Asignación de Valores...5 7. Definición
Más detallesGramáticas de Atributos
Teoría de Lenguajes Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Etapas de un Compilador Analizador Léxico Analizador Sintáctico (Parser)... Lexer: Genera secuencia de tokens Reporta
Más detallesREPRESENTACIÓN DE DATOS
REPRESENTACIÓN DE DATOS Tipos de datos primitivos Tipos de Datos Estructurados TIPOS DE DATOS SIMPLES O PRIMITIVOS Dato Longitud Rango 2 TIPOS DE DATOS SIMPLES O PRIMITIVOS Surgen de la necesidad de tener
Más detallesANÁLISIS DESCENDENTE. Compruébese que la siguiente gramática es LL(1) sin modificarla.
Procesadores de lenguaje Ejercicios del Tema 3 ANÁLISIS DESCENDENTE Ejercicio 3.1 Compruébese que la siguiente gramática es LL(1) sin modificarla. Ejercicio 3.2 A B C D B a C b B λ C c A d C e B f C g
Más detallesAlgunos ejercicios sobre modelado sintáctico en exámenes de Compiladores e intérpretes
Algunos ejercicios sobre modelado sintáctico en exámenes de Compiladores e intérpretes IG29: Compiladores e intérpretes Séptima sesión de teoría Ejercicio 1 Considera el lenguaje de las listas que cumplen
Más detallesAnalizador Léxico. Programación II Margarita Álvarez. Analizador Léxico - Funciones
Analizador Léxico Programación II Margarita Álvarez Analizador Léxico - Funciones Función Principal Leer carácter por carácter de la entrada y elaborar como salida una secuencia de componentes léxicos
Más detalles1.1 Tipos de Datos Primitivos. 1.2 Tipos de datos estructurados. 1.3 Definición de estructura de datos
1.1 Tipos de Datos Primitivos 1.2 Tipos de datos estructurados 1.2.1 Arreglos unidimensionales, bidimensionales y cadenas de caracteres 1.2.2 Registros o Estructuras (unión y estructura) 1.3 Definición
Más detallesOperadores y reglas de precedencia
Capítulo 5 1 Operadores y reglas de precedencia MIA Ricardo González Lozano 2 Categoría de Operadores Los operadores son los elementos del lenguaje que nos permiten asignar, calcular y comparar expresiones,
Más detallesApunte Laboratorio ALPI - El lenguaje de programación Pascal
Apunte Laboratorio ALPI - El lenguaje de programación Pascal 1 2 ÍNDICE GENERAL Índice 1. Estructura de un Programa en Pascal 3 2. Sintaxis de Pascal 4 2.1. Uso de mayúsculas.....................................
Más detallesMANUAL BÁSICO DE PSEUDOCÓDIGO A LENGUAJE C.
MANUAL BÁSICO DE PSEUDOCÓDIGO A LENGUAJE C. REGLAS Y RECOMENDACIONES PARA NOMBRAR VARIABLES EN C Use letras, el signo guion bajo y dígitos Evite poner todas las letras en mayúsculas Evite empezar con el
Más detallesEl proceso del Análisis Léxico
El proceso del Análisis Léxico El proceso de análisis léxico se refiere al trabajo que realiza el scanner con relación al proceso de compilación. El scanner representa una interfaz entre el programa fuente
Más detallesTema 2. Concepto de Algoritmo
Tema 2. Concepto de Algoritmo Objetivos Definir el concepto de algoritmo Resolver problemas sencillos mediante el diseño de un algoritmo Conocer los tipos de datos elementales y las operaciones sobre ellos
Más detallesQué es Java? Un lenguaje de programación Un entorno de desarrollo Un entorno de aplicación Un entorno de despliegue Es similar en sintaxis de C + +.
APUNTES DE JAVA Agenda Bienvenida Conociendo Java La Maquina Virtual Descargar e instalar el compilador El entorno de trabajo El paradigma de la programación orientada a objetos Qué es Java? Un lenguaje
Más detallesFUNDAMENTOS DE OBJECT PASCAL
FUNDAMENTOS DE OBJECT PASCAL 1. ASPECTOS GENERALES DE LA SINTAXIS Los bloques de código quedan delimitados por y end. Se usa punto y coma como separador de sentencias de código. Comentarios: - ias líneas:
Más detallesIntroducción. El proceso de traducción
Toda compilación es un proceso de transformación paulatina que convierte un programa escrito en un lenguaje fuente de alto nivel en otro programa escrito en un lenguaje objeto de bajo nivel. Ese proceso
Más detalles16 Análisis sintáctico I
2 Contenido Recordando la estructura de un compilador Recordando el análisis léxico l análisis sintáctico Comparación con el análisis léxico l Rol del Parser Lenguajes de programación Gramáticas structura
Más detallesUNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes. Tema 2.
UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA Escuela Técnica Superior de Ingeniería Informática Procesadores de Lenguajes Tema 2 Análisis Léxico Javier Vélez Reyes jvelez@lsi.uned.es Objetivos del Tema
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 detallesCompilación. Jaime Gutiérrez Alfaro Compiladores e Intérpretes. II semestre,
Compilación Jaime Gutiérrez Alfaro Compiladores e Intérpretes II semestre, 2017 1 Agenda 2. Compilación Estructura del proceso de compilación Estructuras de datos Pasadas Opciones de diseño de un compilador
Más detallesAnálisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas
Análisis semántico Tabla de símbolos, chequeo de tipos y representaciones internas Análisis semático c 2001 José Fortes Gálvez p.1 Análisis?... semántico? La semántica corresponde al significado asociado
Más detallesObjetivos Que el estudiante logre conocer, comprender y manejar conceptos y técnicas vinculados con el Analizador Léxico, para lo cual debe:
09:19 1 2 Temas Funciones del Analizador Léxico Manejo de buffers de entrada Especificación y reconocimiento de tokens Generación automática de Analizadores Léxicos Objetivos Que el estudiante logre conocer,
Más detallesabril de 2017 Desarrollo de aplicaciones en Java Tipos de datos primitivos Tipos de datos Elementos de aplicaciones simples
Desarrollo de aplicaciones en Java Generación de código fuente Compilación Ejecución Elementos de aplicaciones simples EII147-01-02 Introducción a las tecnologías de información Escuela de Ingeniería Industrial
Más detallesGUÍA DE ESTILO EN JAVA
GUÍA DE ESTILO EN JAVA Formato de líneas 1. No usar más de 80 caracteres por línea (imagen de tarjeta). De esta forma se pueden visualizar las líneas completas con un editor de texto o en una hoja impresa
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 detallesConceptos. Generales ALGORITMOS
Conceptos 1 Generales ALGORITMOS Que es un Algoritmo? 2 Es un conjunto preescrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar una actividad mediante pasos sucesivos
Más detallesCapítulo 11 INTRODUCCIÓN A LA CODIFICACIÓN EN C. 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 11 INTRODUCCIÓN A LA CODIFICACIÓN EN C 1 OBJETIVOS Aprender a
Más detallesAlgoritmo, Estructuras y Programación I Ing. Marglorie Colina
Unidad II: Fundamentos de la Programación Estructurada Algoritmo, Estructuras y Programación I Ing. Marglorie Colina Estructura General de un Programa Zona de ficheros de cabecera de las librerías Zona
Más detallesTEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL.
Tema 2. TEMA 2. LENGUAJE C. CONCEPTOS BÁSICOS Y PROGRAMACIÓN ELEMENTAL. PARTE : VARIABLES, OPERADORES Y CONSTANTES.. INTRODUCCIÓN AL LENGUAJE C 2. PROGRAMAS BÁSICOS EN LENGUAJE C 3. DATOS EN LENGUAJE C
Más detallesSeminario de introducción a Flex
Seminario de introducción a Flex David Portolés Rodríguez dporto@unizar.es Lenguajes y Sistemas Informáticos Dpto. de Informática e Ing. de Sistemas Universidad de Zaragoza Qué es Flex? Flex es un una
Más detallesProgramación 1. Tema I. Conceptos y elementos básicos de Programación. Lección 2. Lenguaje de programación y ejecución de un programa
Programación 1 Tema I. Conceptos y elementos básicos de Programación Lección 2. Lenguaje de programación y ejecución de un programa 1 Léxico, sintaxis y semántica de un lenguaje #include #include
Más detallesINTRODUCCIÓN AL PROCESO DE COMPILACIÓN
INTRODUCCIÓN AL PROCESO DE COMPILACIÓN El programa que se debe compilar es una secuencia de caracteres que termina con un centinela. CONCEPTOS BÁSICOS Un compilador es un complejo programa que lee un programa
Más detallesAnálisis semántico. Análisis semántico. Índice (I)
Análisis semántico Índice (I) Marina de la Cruz Alfonso Ortega Objetivo del análisis semántico Decisiones para la construcción de un analizador semántico Análisis semántico con Bison Nivel de indirección
Más detalles3.3 Conceptos Básicos del Lenguaje Java
3.3 Conceptos Básicos del Lenguaje Java Conjunto de Caracteres Java utiliza Unicode, un conjunto de caracteres de 16 bits Java permite leer ASCII de 7-bit o Latin-1, conviertiéndolo a Unicode Son pocos
Más detallesTEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS
TEMA 2. EL LENGUAJE C. ELEMENTOS BÁSICOS Una vez que ya sabes crear tus propios programas, vamos a analizar los fundamentos del lenguaje de programación C. Este capítulo incluye además los siguientes temas:
Más detallesCaracterísticas de JavaScript
Características de JavaScript Qué es JavaScript? o Lenguaje de programación interpretado utilizado fundamentalmente para dotar de comportamiento dinámico a las páginas web. o Cualquier navegador web actual
Más detallesTema 05: Elementos de un programa en C
Tema 05: Elementos de un programa en C M. en C. Edgardo Adrián Franco Martínez http://www.eafranco.com edfrancom@ipn.mx @edfrancom edgardoadrianfrancom Estructuras de datos (Prof. Edgardo A. Franco) 1
Más detallesING1310 Introducción a la Computación. Python. Conceptos Básicos. Carlos Reveco
ING1310 Introducción a la Computación Python Conceptos Básicos Carlos Reveco creveco@dcc.uchile.cl careveco@miuandes.cl Facultad de Ingeniería/Universidad de los Andes/Chile Rev : 254 C.Reveco Facultad
Más detallesCompiladores e intérpretes Análisis Léxico I. Análisis Léxico I
Análisis Léxico I Profesor: Eridan Otto Análisis Léxico I Introducción Funciones Tokens,Patrones y Lexemas Reconocimiento de tokens Implementación de un AL 1 Análisis léxico: Introducción En esta unidad
Más detallesTema 5: Traducción dirigida por la sintaxis
Tema 5: Traducción dirigida por la sintaxis Procesamiento de Lenguajes Dept. de Lenguajes y Sistemas Informáticos Universidad de Alicante Procesamiento de Lenguajes Tema 5: Traducción dirigida por la sintaxis
Más detallesPROGRAMACIÓN EN JAVA
1. INTRODUCCIÓN A LA PROGRAMACIÓN 1.1. Datos, algoritmos y programas 1.1.1. Definición de algoritmo 1.1.2. Datos 1.1.3. Características de un programa 1.2. Paradigmas de programación 1.2.1. Programación
Más detallesUIT-T Z.314 SECTOR DE NORMALIZACIÓN DE LAS TELECOMUNICACIONES DE LA UIT
UNIÓN INTERNACIONAL DE TELECOMUNICACIONES UIT-T Z.314 SECTOR DE NORMALIZACIÓN DE LAS TELECOMUNICACIONES DE LA UIT LENGUAJE HOMBRE-MÁQUINA JUEGO DE CARACTERES Y ELEMENTOS BÁSICOS Recomendación UIT-T Z.314
Más detallesGuía práctica de estudio 05: Pseudocódigo
Guía práctica de estudio 05: Pseudocódigo Elaborado por: M.C. Edgar E. García Cano Ing. Jorge A. Solano Gálvez Revisado por: Ing. Laura Sandoval Montaño Autorizado por: M.C. Alejandro Velázquez Mena Guía
Más detallesTema 1: Introducción a C
Fundamentos de Informática I ETSII Tema 1: Introducción a C. Departamento de Sistemas Informáticos y Computación Universidad Politécnica de Valencia Tema 1: Introducción a C Índice: Objetivos Conceptos
Más detallesProyecto Unico Interpretador de MiniLogo
Universidad Simón Bolívar Dpto. de Computación y Tecnología de la Información CI3721 - Traductores e Interpretadores Abril-Julio 2007 Proyecto Unico Interpretador de MiniLogo Logo es un lenguaje de programación
Más detallesConstrucciones del Lenguaje Java
Construcciones del Lenguaje Java Autor: Juan Alberto López Cavallotti Versión de Java: 5 / 6 Comentarios Comentario de Línea Comentario Multilínea //Esto es un comentario. /* Esto comenta varias lineas.
Más detallesBison. Introducción. Índice. Introducción Uso de Bison con Flex. Formato del fichero de especificación de Bison
Bison Índice Marina de la Cruz Alfonso Ortega Introducción Uso de Bison con Flex Construcción del programa objetivo alfa Comunicación entre las funciones main(), yylex() e yyparse() Formato del fichero
Más detallesElementos léxicos del lenguaje de programación C
Elementos léxicos del lenguaje de programación C Elementos léxicos de los lenguajes de programación (tokens) Palabras reservadas Identificadores Literales Operadores Delimitadores Comentarios Apéndices
Más detallesTUTORIAL PROLOG. Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato
TUTORIAL PROLOG Lenguajes de programación Universidad Nacional de Colombia Santiago Carvajal Castañeda Mario Andrés Moreno Norato Prolog es un lenguaje de programación lógica de propósito general que se
Más detallesCaracterísticas de Lenguajes de Scripts
Lenguaje JavaScript Objetivos Conocer las características de los lenguajes de scripts en general y específicamente de JavaScript Conocer los Tipos de Páginas Web y cuando deben utilizarse. Conocer la sintaxis
Más detallesEl Pseudo-código de PsInt
El Pseudo-código de PsInt Las características de este pseudolenguaje fueron propuestas en 2001 por el responsable de la asignatura Fundamentos de Programación de la carrera de Ingeniería Informática de
Más detallesTema 2. El lenguaje JAVA
Tema 2. El lenguaje JAVA Nomenclatura habitual Variables Tipos de variables Tipos primitivos Referencias Arrays Operadores Operadores de Java Precedencia de operadores Sentencias de control Sentencias
Más detalles