• No se han encontrado resultados

¿PORQUÉ APRENDER AWK?

N/A
N/A
Protected

Academic year: 2022

Share "¿PORQUÉ APRENDER AWK?"

Copied!
29
0
0

Texto completo

(1)

¿PORQUÉ APRENDER AWK?

(2)

¿PORQUÉ APRENDER AWK?

Es un lenguaje intérprete completo de aplicación general

(3)

¿PORQUÉ APRENDER AWK?

Es un OPEN SOURCE

(4)

¿PORQUÉ APRENDER AWK?

Es un lenguaje en C muy parecido a C más expresiones regulares C + /ER/ = awk

(5)

¿PORQUÉ APRENDER AWK?

Es un lenguaje en C muy parecido a C más expresiones regulares C + /ER/ = awk

(6)

¿PORQUÉ APRENDER AWK?

Si awk es parecido a C y C es el lenguaje por excelencia, al ser el lenguaje de nivel medio, tiene el poderío de un lenguaje ensamblador más el hecho

de ser amigable con el usuario programador

(7)

¿PORQUÉ APRENDER AWK?

Existen versiones gratuitas para MS-DOS, MS-WINDOWS,

UNIX Y LINUX

(8)

¿QUÉ SON LAS EXPRESIONES

REGULARES?

(9)

¿QUÉ SON LAS EXPRESIONES REGULARES?

❖Una Expresión regular es un METALENGUAJE basado en la teoría de conjuntos con cuatro operaciones: Concatenación o unión, disyunción, cerradura positiva y cerradura de Kleene. Con lo se pueden especificar los componentes léxicos que forman parte de un lenguaje aceptado finito o infinito.

❖Es un patrón que define los símbolos, cadenas o elementos que integrarán un lenguaje formal.

❖Es una representación matemática del comportamiento de un sistema cuyas entradas se pueden definir con símbolos, cadenas y un lenguaje regular

(10)

¿QUÉ SON LOS COMPONENTES

LÉXICOS?

(11)

¿QUÉ SON LOS COMPONENTES LÉXICOS?

Son los elementos básicos que conforman un lenguaje formal.

Son todos aquellos elementos necesarios para integrar un lenguaje regular y se encuentran en la TABLA DE SIMBOLOS por ejemplo:

Palabras reservadas = INSTRUCCIONES Parámetros para cada instrucción

IDENTIFICADORES para nombrar variables, nombres de funciones, rutinas, subrutinas, programas, subprogramas, etc.

(12)

¿QUÉ ES UNA TABLA DE

SIMBOLOS?

(13)

¿QUÉ ES UNA TABLA DE SIMBOLOS?

Es una estructura de datos que contiene todos y cada uno de los elementos básicos o componentes léxicos que conforman un lenguaje formal. Todos estos componentes léxicos deben estar en la TABLA DE SIMBOLOS conjuntamente con los TOKENS

(14)

¿QUÉ SON LOS TOKENS?

(15)

¿QUÉ SON LOS TOKENS?

Son identificadores numéricos para cada uno de los componentes léxicos.

Estos son la salida de un analizador léxico conjuntamente con los errores léxico que se detectan y se dan de alta en el manejador de errores.

(16)

¿QUÉ ES UN MANEJADOR DE

ERRORES?

(17)

¿QUÉ ES UN MANEJADOR DE ERRORES?

También es una estructura de datos que contiene los código de error con su descripción para poder guardar e informar al usuario programador todos y cada uno de los errores en el código fuente analizado.

Una vez que se realiza el analizador léxico se generan TOKENS y códigos de error que también son datos numéricos que se guardan con el numero de línea donde se encuentran el código fuente.

(18)

¿QUÉ ES UN ANALIZADOR

LÉXICO?

(19)

¿QUÉ ES UN ANALIZADOR LÉXICO?

Es un escrutinio (scanning) que se realiza con el código fuente o de entrada para identificar cada uno de los símbolos que se integran en cadenas y con ellas se realiza una identificación para determinar si las cadenas aceptadas son parte de los componentes léxicos definidos para el lenguaje.

(20)

¿CUÁLES SON LAS FUNCIONES BÁSICAS DE UN ANALIZADOR

LÉXICO?

(21)

¿CUÁLES SON LAS FUNCIONES BÁSICAS DE UN ANALIZADOR

LÉXICO?

1) Elimina comentarios 2) Elimina signos extraños

3) Identifica símbolos faltantes como “, (, {, [, etc. del código fuente.

4) Genera tokens por cada componente léxico.

(22)

¿CUALES SON LAS

APLICACIONES DE UN

ANALIZADOR LÉXICO?

(23)

¿CUALES SON LAS

APLICACIONES DE UN ANALIZADOR LÉXICO?

Un analizador léxico es como un filtro, el cual tiene múltiples aplicaciones. Todo sistema bien diseñado tiene un filtro o selección que analiza los elementos que acepta o rechaza el sistema.

Por ejemplo en sistemas de gestión 1) CHEQUES

2) NOMINA

3) PRESUPUESTOS 4) FACTURACIÓN, etc.

(24)

¿CUALES SON LAS

APLICACIONES DE UN

ANALIZADOR LÉXICO?

(25)

¿CUALES SON LAS

APLICACIONES DE UN ANALIZADOR LÉXICO?

Es la primer fase de la primera etapa de un traductor, los cuales tienen infinidad de usos, como:

Pre-compiladores, compiladores, pseudo-compiladores, intérpretes y son parte de los sistemas operativos que se consideran software de base o básico.

LOS ERRORES LEXICOS SE CONSIDERAN HASTA LA SIGUIENTE ETAPA QUE ES EL ANÁLISIS SINTÁCTICO POR LO QUE EL MENSAJE MÁS COMUNES ES:

Sintax error

(26)

EDITE EL ARCHIVO:

SOURCEAWK.TXT

# unbundle - unpack a bundle into separate files

$1 != prev { close(prev); prev = $1 }

{ print substr($0, index($0, " ") + 1) >$1 }

(27)

EDITE EL ARCHIVO:

SOURCEAWK.TXT

calc1 # calc1 - reverse-Polish calculator, version 1 calc1 # input: arithmetic expressions in reverse Polish calc1 # output: values of expressions

calc1

calc1 { for (i = 1; i <= NF; i++)

calc1 if ($i ~ /^[+-]?([0-9]+[.]?[0-9]*|[.][0-9]+)$/) { calc1 stack[++top] = $i

calc1 } else if ($i == "+" && top > 1) { calc1 stack[top-1] += stack[top]; top--

(28)

EDITE EL ARCHIVO:

SOURCEAWK.TXT

calc1 } else if ($i == "-" && top > 1) { calc1 stack[top-1] -= stack[top]; top-- calc1 } else if ($i == "*" && top > 1) { calc1 stack[top-1] *= stack[top]; top-- calc1 } else if ($i == "/" && top > 1) { calc1 stack[top-1] /= stack[top]; top-- calc1 } else if ($i == "^" && top > 1) { calc1 stack[top-1] ^= stack[top]; top-- calc1 } else {

(29)

EDITE EL ARCHIVO:

SOURCEAWK.TXT

calc1 printf("error: cannot evaluate %s\n", $i) calc1 top = 0

calc1 next calc1 }

calc1 if (top == 1)

calc1 printf("\t%.8g\n", stack[top--]) calc1 else if (top > 1) {

calc1 printf("error: too many operands\n")

Referencias

Documento similar

Esta formación se produce mediante el doctorado (13 alumnos, lo que significa el 32% de los encuestados), diferentes másteres entre los que destacan de nuevo el de Profesorado

Resolución do 16 de outubro de 2017, conxunta da Consellería de Educación e Ordenación Universitaria e da Consellería de Economía, Emprego e Industria, pola que

¿Cómo se traduce la incorporación de ésta en la idea de museo?; ¿Es útil un museo si no puede concebirse como un proyecto cultural colectivo?; ¿Cómo puede ayudar el procomún

Volviendo a la jurisprudencia del Tribunal de Justicia, conviene recor- dar que, con el tiempo, este órgano se vio en la necesidad de determinar si los actos de los Estados

4.- Másteres del ámbito de la Biología Molecular y Biotecnología (9% de los títulos. Destaca el de Biotecnología Molecular de la UB con un 4% y se incluyen otros

Debido a la calidad y el legado de nuestra compañía, los cuales se reflejan en nuestros pianos, elegir un instrumento hecho por Steinway &amp; Sons tiende a ser una decisión

Pero cuando vio a Mar sacar el fuego de bajo su ala, voló de vuelta a su tribu a contarles lo que había visto.... Justo antes de que el sol saliera, Tatkanna se despertó y comenzó

1. LAS GARANTÍAS CONSTITUCIONALES.—2. C) La reforma constitucional de 1994. D) Las tres etapas del amparo argentino. F) Las vías previas al amparo. H) La acción es judicial en