• Share
  • Email
  • Embed
  • Like
  • Save
  • Private Content
Compilacion Perl
 

Compilacion Perl

on

  • 1,328 views

Presentacion realizada para mostrar el proceso de compilacion que se lleva a cabo en el lenguaje de programacion Perl

Presentacion realizada para mostrar el proceso de compilacion que se lleva a cabo en el lenguaje de programacion Perl

Statistics

Views

Total Views
1,328
Views on SlideShare
1,328
Embed Views
0

Actions

Likes
0
Downloads
21
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

    Compilacion Perl Compilacion Perl Presentation Transcript

    • 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
      • Palabras Reservadas
      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
      $
      %
      @
      ;


      {
      }
      [
      ]
      #
      #!
      n
      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 ]
      • [ETIQUETA] until CONDICION BLOQUE [continue BLOQUE ]
      • [ETIQUETA] foreach [VARIABLE] (LISTA) BLOQUE [continue BLOQUE]
      • [ETIQUETA] for (EXPRESION_1;EXPRESION_2;EXPRESION_3) BLOQUE
      Donde EXPRESION_1 es la expresión inicial, EXPRESION_2 la condición y la EXPRESION_3 es la expresión incremental.
      • if CONDICION BLOQUE [[elsif BLOQUE] else BLOQUE] unless CONDICION BLOQUE [else BLOQUE]
      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
    • 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
    • Gracias