SlideShare ist ein Scribd-Unternehmen logo
1 von 19
PerlCompilador Camilo Gallego Ortiz Julian Alberto Restrepo Aguirre
Perl Lenguaje de programación diseñado por Larry Wall en 1987que toma características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación. Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script.
Carateristicas Paradigma Multiparadigma, Funcional, Imperativa, Orientado a Objetos (basado en clases), Reflexiva  Apareció en 1987  Diseñado y Desarrollado por Larry Wall  Última versión estable 5.14.0 (14 de mayo de 2011)  Última versión en prueba 5.15.0 (15 de mayo de 2011)  Tipo de Dato Dinámico  Implementaciones 	Perl, mod_perl, embperl Dialectos Perl 5, Perl 6  Influido por AWK, Smalltalk 80, Lisp, C, C++, Pascal, sed, Unix shell Ha influido a Python, PHP, Ruby, ECMAScript, LPC, Windows PowerShell, JavaScript, Falcon  Sistema Operativo Multiplataforma, muchos (más de 100)  Licencia de software GPL, Licencia Artística  Web:www.perl.org
Análisis Lexicográfico Esta fase se encarga de verificar si todas las cadenas pertenecen o no al lenguaje. Es decir realiza un análisis símbolo por símbolo indicando el token por cada uno de los elementos reconocidos o el error en caso de no reconocer. Este análisis no logra detectar muchos errores por su característica.
Identificadores Identificadores Variables Escalares $ Scalars Listas @ Arrays Hashes % Hashes Identificadores Constantes Perl implemente un conversar de datos a bits ANALISIS LEXICOGRAFICO
Identificadores ,[object Object],abs chmod chop chown defined delete die eof exit exp fileno fork hex Int lc oct reverse sex rindex sprintf substr tr/ print uc ucfirst y/ qq/STRING/ ord index q/STRING/ length crypt chr m post s/ study log sin each ANALISIS LEXICOGRAFICO
Operadores -> ++ -- ** ! ~ > =~ !~ * / % x + - . << >> < > <= >= lt gt le ge == != <=> eq ne cmp & | ^ && || .. … ?: = += -= *= , => not and or xor ANALISIS LEXICOGRAFICO
Caracteres Especiales $  % @ ; “ ‘ { } [ ] # #!  ANALISIS LEXICOGRAFICO
Analizador Sintactico El análisis sintáctico convierte el texto de entrada en otras estructuras (comúnmente árboles), que son más útiles para el posterior análisis y capturan la jerarquía implícita de la entrada. Un analizador léxico crea tokens de una secuencia de caracteres de entrada y son estos tokens los que son procesados por el analizador sintáctico para construir la estructura de datos, por ejemplo un árbol de análisis o árboles de sintaxis abstracta.
Estructura del Programa Todo programa en Perl debe comenzar en la primera línea con: #! /usr/bin/perl Esta parte es fundamental si se quiere correr Perl en su sistema ANALISIS SINTACTICO
Estructura de Control Perl tiene varias clases de estructuras de control. CONTROL DE CICLOS do, while, for, foreach, continue CONTROL DE SENTENCIAS if, else, unless, until, elsif CONTROL DE FLUJO goto, elsif, next, last, redo, return ANALISIS SINTACTICO Estructura del Programa
Tiene estructuras de control orientado al bloque, similar a los lenguajes de programación C y Java CONDICIONESestán rodeadas por paréntesis ( )  BLOQUES rodeados por llaves { } EXPRESIONES OPCIONALESpor corchetes cuadrados [] ETIQUETASdeben llevar al final dos puntos ':'; ANALISIS SINTACTICO Estructura del Programa Estructura de Control para Varias Sentencias
Estructura de Control para Varias Sentencias [ETIQUETA] while CONDICION BLOQUE [continue BLOQUE ] ,[object Object]
[ETIQUETA] foreach [VARIABLE] (LISTA) BLOQUE [continue BLOQUE]
[ETIQUETA] for (EXPRESION_1;EXPRESION_2;EXPRESION_3) BLOQUEDonde EXPRESION_1 es la expresión inicial, EXPRESION_2 la condición y la EXPRESION_3 es la expresión incremental. ,[object Object],ANALISIS SINTACTICO Estructura del Programa
Estructura de Control para una Sola Sentencias Cuando se controla a una sola declaración, los modificadores de declaración proporcionan una sintaxis más ligera DECLARACIÓN ifCONDICIÓN DECLARACIÓN unless CONDICIÓN  DECLARACIÓN whileCONDICIÓN DECLARACIÓN untilCONDICIÓN DECLARACIÓN foreachLISTA Donde DECLARACIÓN es una instrucción, llamada a alguna función, etc. y en estos casos la CONDICIÓN en vez de estar rodeado por paréntesis requiere un punto y coma al final de la condición. ANALISIS SINTACTICO Estructura del Programa
Estructura de Control para Operadores Lógicos Los operadores lógicos se utilizan para construir la CONDICIÓN en una estructura de control EXPRESION1 and EXPRESION2; EXPRESION1 or EXPRESION2; EXPRESION1 && EXPRESION2; EXPRESION1 || EXPRESION2; EXPRESION1 eq EXPRESION2; EXPRESION1 == EXPRESION2; Donde EXPRESION1 y EXPRESION2 son variables a comparar o “expresiones” booleanas(verdadero o falso) según el contexto en que se use ANALISIS SINTACTICO Estructura del Programa
Creación Árbol Sintáctico Análisis Bottom-Up  Optimizador de arriba hacia abajo  Optimizador de Tirilla Generación de código ANALISIS SINTACTICO
Ejemplo $a=-($b+$c) ANALISIS SINTACTICO

Weitere ähnliche Inhalte

Was ist angesagt?

Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamientoLalo Chooper
 
Vb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosVb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosUTP, TA
 
Carlos orden bdii-t2
Carlos orden bdii-t2Carlos orden bdii-t2
Carlos orden bdii-t2Chars Orden
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datospepelebu1313
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda HashBlanca Parra
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLLuiS YmAY
 
pl/sql Procedure
pl/sql Procedurepl/sql Procedure
pl/sql ProcedurePooja Dixit
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..NANO-06
 
Displaying data from multiple tables
Displaying data from multiple tablesDisplaying data from multiple tables
Displaying data from multiple tablesSyed Zaid Irshad
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..NANO-06
 

Was ist angesagt? (20)

Palabras reservadas de netbeans
Palabras reservadas de netbeansPalabras reservadas de netbeans
Palabras reservadas de netbeans
 
Backtracking
BacktrackingBacktracking
Backtracking
 
Metodos de ordenamiento
Metodos de ordenamientoMetodos de ordenamiento
Metodos de ordenamiento
 
Vb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De ArchivosVb II, Unidad 2, Manejo De Archivos
Vb II, Unidad 2, Manejo De Archivos
 
Procedimientos almacenados en MySQL
Procedimientos almacenados en MySQLProcedimientos almacenados en MySQL
Procedimientos almacenados en MySQL
 
Unidad 2 expresiones regulares
Unidad 2 expresiones regularesUnidad 2 expresiones regulares
Unidad 2 expresiones regulares
 
Carlos orden bdii-t2
Carlos orden bdii-t2Carlos orden bdii-t2
Carlos orden bdii-t2
 
Importancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datosImportancia de la implementación de las listas para la estructura de datos
Importancia de la implementación de las listas para la estructura de datos
 
Método de Búsqueda Hash
Método de Búsqueda HashMétodo de Búsqueda Hash
Método de Búsqueda Hash
 
Transacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQLTransacciones y sql procedural EN MySQL
Transacciones y sql procedural EN MySQL
 
Arrays in SAS
Arrays in SASArrays in SAS
Arrays in SAS
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Formas Normales
Formas NormalesFormas Normales
Formas Normales
 
pl/sql Procedure
pl/sql Procedurepl/sql Procedure
pl/sql Procedure
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
PROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOSPROCEDIMIENTOS ALMACENADOS
PROCEDIMIENTOS ALMACENADOS
 
Planificacion de procesos
Planificacion de procesosPlanificacion de procesos
Planificacion de procesos
 
Displaying data from multiple tables
Displaying data from multiple tablesDisplaying data from multiple tables
Displaying data from multiple tables
 
Listas como estructura de datos..
Listas como estructura de datos..Listas como estructura de datos..
Listas como estructura de datos..
 
Programación 3: listas enlazadas
Programación 3: listas enlazadasProgramación 3: listas enlazadas
Programación 3: listas enlazadas
 

Ähnlich wie Compilacion Perl

Ähnlich wie Compilacion Perl (20)

Basededatos
BasededatosBasededatos
Basededatos
 
EXPO PERL UTT
EXPO PERL UTTEXPO PERL UTT
EXPO PERL UTT
 
Analizador lexico
Analizador lexicoAnalizador lexico
Analizador lexico
 
Compilador2
Compilador2Compilador2
Compilador2
 
Descripción del lenguaje red
Descripción del lenguaje redDescripción del lenguaje red
Descripción del lenguaje red
 
Unmsm02 2008
Unmsm02 2008Unmsm02 2008
Unmsm02 2008
 
Creacion de scripts en linux
Creacion de scripts en linuxCreacion de scripts en linux
Creacion de scripts en linux
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
04 j flex
04 j flex04 j flex
04 j flex
 
Programa pascal
Programa pascalPrograma pascal
Programa pascal
 
Turbo pascal
Turbo pascalTurbo pascal
Turbo pascal
 
Clase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en DelphiClase3 - Identificadores y directivas en Delphi
Clase3 - Identificadores y directivas en Delphi
 
Análisis semántico
Análisis semánticoAnálisis semántico
Análisis semántico
 
Presentación1
Presentación1Presentación1
Presentación1
 
Unidad 2
Unidad 2Unidad 2
Unidad 2
 
Tutorial basico prolog
Tutorial basico prologTutorial basico prolog
Tutorial basico prolog
 
CSSED, PYTHON, PERL
CSSED, PYTHON, PERLCSSED, PYTHON, PERL
CSSED, PYTHON, PERL
 
Estructura de un compilador 2
Estructura de un compilador 2Estructura de un compilador 2
Estructura de un compilador 2
 
Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2Introducción a los compiladores - Parte 2
Introducción a los compiladores - Parte 2
 
Lenguajec intorduccionui
Lenguajec intorduccionuiLenguajec intorduccionui
Lenguajec intorduccionui
 

Kürzlich hochgeladen

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 

Kürzlich hochgeladen (10)

International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 

Compilacion Perl

  • 1. PerlCompilador Camilo Gallego Ortiz Julian Alberto Restrepo Aguirre
  • 2. Perl Lenguaje de programación diseñado por Larry Wall en 1987que toma características del lenguaje C, del lenguaje interpretado shell (sh), AWK, sed, Lisp y, en un grado inferior, de muchos otros lenguajes de programación. Estructuralmente, Perl está basado en un estilo de bloques como los del C o AWK, y fue ampliamente adoptado por su destreza en el procesado de texto y no tener ninguna de las limitaciones de los otros lenguajes de script.
  • 3. Carateristicas Paradigma Multiparadigma, Funcional, Imperativa, Orientado a Objetos (basado en clases), Reflexiva Apareció en 1987 Diseñado y Desarrollado por Larry Wall Última versión estable 5.14.0 (14 de mayo de 2011) Última versión en prueba 5.15.0 (15 de mayo de 2011) Tipo de Dato Dinámico Implementaciones Perl, mod_perl, embperl Dialectos Perl 5, Perl 6 Influido por AWK, Smalltalk 80, Lisp, C, C++, Pascal, sed, Unix shell Ha influido a Python, PHP, Ruby, ECMAScript, LPC, Windows PowerShell, JavaScript, Falcon Sistema Operativo Multiplataforma, muchos (más de 100) Licencia de software GPL, Licencia Artística Web:www.perl.org
  • 4. Análisis Lexicográfico Esta fase se encarga de verificar si todas las cadenas pertenecen o no al lenguaje. Es decir realiza un análisis símbolo por símbolo indicando el token por cada uno de los elementos reconocidos o el error en caso de no reconocer. Este análisis no logra detectar muchos errores por su característica.
  • 5. Identificadores Identificadores Variables Escalares $ Scalars Listas @ Arrays Hashes % Hashes Identificadores Constantes Perl implemente un conversar de datos a bits ANALISIS LEXICOGRAFICO
  • 6.
  • 7. Operadores -> ++ -- ** ! ~ > =~ !~ * / % x + - . << >> < > <= >= lt gt le ge == != <=> eq ne cmp & | ^ && || .. … ?: = += -= *= , => not and or xor ANALISIS LEXICOGRAFICO
  • 8. Caracteres Especiales $ % @ ; “ ‘ { } [ ] # #! ANALISIS LEXICOGRAFICO
  • 9. Analizador Sintactico El análisis sintáctico convierte el texto de entrada en otras estructuras (comúnmente árboles), que son más útiles para el posterior análisis y capturan la jerarquía implícita de la entrada. Un analizador léxico crea tokens de una secuencia de caracteres de entrada y son estos tokens los que son procesados por el analizador sintáctico para construir la estructura de datos, por ejemplo un árbol de análisis o árboles de sintaxis abstracta.
  • 10. Estructura del Programa Todo programa en Perl debe comenzar en la primera línea con: #! /usr/bin/perl Esta parte es fundamental si se quiere correr Perl en su sistema ANALISIS SINTACTICO
  • 11. Estructura de Control Perl tiene varias clases de estructuras de control. CONTROL DE CICLOS do, while, for, foreach, continue CONTROL DE SENTENCIAS if, else, unless, until, elsif CONTROL DE FLUJO goto, elsif, next, last, redo, return ANALISIS SINTACTICO Estructura del Programa
  • 12. Tiene estructuras de control orientado al bloque, similar a los lenguajes de programación C y Java CONDICIONESestán rodeadas por paréntesis ( ) BLOQUES rodeados por llaves { } EXPRESIONES OPCIONALESpor corchetes cuadrados [] ETIQUETASdeben llevar al final dos puntos ':'; ANALISIS SINTACTICO Estructura del Programa Estructura de Control para Varias Sentencias
  • 13.
  • 14. [ETIQUETA] foreach [VARIABLE] (LISTA) BLOQUE [continue BLOQUE]
  • 15.
  • 16. Estructura de Control para una Sola Sentencias Cuando se controla a una sola declaración, los modificadores de declaración proporcionan una sintaxis más ligera DECLARACIÓN ifCONDICIÓN DECLARACIÓN unless CONDICIÓN DECLARACIÓN whileCONDICIÓN DECLARACIÓN untilCONDICIÓN DECLARACIÓN foreachLISTA Donde DECLARACIÓN es una instrucción, llamada a alguna función, etc. y en estos casos la CONDICIÓN en vez de estar rodeado por paréntesis requiere un punto y coma al final de la condición. ANALISIS SINTACTICO Estructura del Programa
  • 17. Estructura de Control para Operadores Lógicos Los operadores lógicos se utilizan para construir la CONDICIÓN en una estructura de control EXPRESION1 and EXPRESION2; EXPRESION1 or EXPRESION2; EXPRESION1 && EXPRESION2; EXPRESION1 || EXPRESION2; EXPRESION1 eq EXPRESION2; EXPRESION1 == EXPRESION2; Donde EXPRESION1 y EXPRESION2 son variables a comparar o “expresiones” booleanas(verdadero o falso) según el contexto en que se use ANALISIS SINTACTICO Estructura del Programa
  • 18. Creación Árbol Sintáctico Análisis Bottom-Up Optimizador de arriba hacia abajo Optimizador de Tirilla Generación de código ANALISIS SINTACTICO
  • 20. Análisis Semantico Perl se ahorra el desarrollo de este análisis ya que no trabaja con tipos definidos de variables, sino que trabaja con bits directamente, esto es posible a través de marshalling