Antologia Lenguajes y Automatas

29
Instituto tecnológico superior de zongolica ANTOLOGÍA DE LENGUAJES Y AUTOMATAS PRESENTA: I.S.C ARTURO MARTIN MORALES RAYÓN ZONGOLICA, VER ENERO 2014

description

fgfdg

Transcript of Antologia Lenguajes y Automatas

Page 1: Antologia Lenguajes y Automatas

Instituto tecnológico superior

de zongolica

ANTOLOGÍA DE LENGUAJES Y AUTOMATAS

PRESENTA:

I.S.C ARTURO MARTIN MORALES RAYÓN

ZONGOLICA, VER

ENERO 2014

Page 2: Antologia Lenguajes y Automatas

Propósito del curso

Conocer, comprender y aplicar la teoría de la computación para resolver

problemas de la ingeniería y científicos mediante el uso de lenguajes y

automatas.

La realización de este material está diseñado para apoyar el proceso

enseñanza – aprendizaje, donde los profesores que impartan esta materia

puedan apoyarse de los ejercicios que aquí se proponen y a si llevar un

mejor manejo de la asignatura.

Para un mejor aprovechamiento de este material el alumno deberá saber

algunos temas previos tales como redes, teoría de grafos.

Page 3: Antologia Lenguajes y Automatas

Contenido

Contenido

TEMA 1 ................................................................................................................... 5

INTRODUCCION A LA TEORIA DE LENGUAJES ................................................ 5

UNIDAD 2.............................................................................................................. 13

EXPRESIONES REGULARES .............................................................................. 13

UNIDAD 3.............................................................................................................. 17

UNIDAD 4.............................................................................................................. 20

MAQUINA DE TURING ......................................................................................... 20

UNIDAD4............................................................................................................... 24

ANALISIS LEXICO ................................................................................................ 24

UNIDAD 6.............................................................................................................. 27

ANALISIS SINTACTICO ....................................................................................... 27

Page 4: Antologia Lenguajes y Automatas

Red conceptual del curso

Lenguajes y

automatas

Analizador lexico

Analizador sintactico

compilador

Traductor

Page 5: Antologia Lenguajes y Automatas

TEMA 1

INTRODUCCION A LA TEORIA DE LENGUAJES

Page 6: Antologia Lenguajes y Automatas

Un autómata es:

Una maquina (mecanismo) de naturaleza formal (solo existe como un

mecanismo

matemático)

Que acepta una información de entrada (input),

La procesa

(La somete a transformaciones simbólicas que pueden adoptar la forma de un

calculo

o computación )

genera un resultado o salida (output)

Definir un autómata equivaldría a definir el proceso de transformación del input en

un

output, lo que equivale a definir una función cuyos argumentos son el input y cuyo

valor

es el output

TIPOS DE AUTOMATAS

Hay muchos tipos de autómatas, cada tipo de autómata se asocia a una potencia

computacional determinada, es decir a una capacidad dada de resolución de

problemas, de hecho, podemos clasificar los problemas algorítmicamente solubles

asociándolos al tipo de autómata que resuelve, estos tipos se ordenan en

jerarquía de menor a mayor potencial computacional

Jerarquía de autómatas:

Autómatas finitos (Redes Lógicas)

Autómatas intermedios:

Autómatas de memoria de pila

Autómatas de memoria linealmente limitada

Maquinas de Turing

TIPOS DE AUTOMATAS (2)

Además, podemos clasificar los autómatas:

Por el tipo de proceso que ejecutan

Aceptación o reconocimiento

Generación

Por su tipo de causalidad:

Determinista

Page 7: Antologia Lenguajes y Automatas

No – Determinista

Por el tipo de su almacenamiento de información:

De tamaño fijo

De tamaño creciente

De tamaño infinito

Por el tipo de la información que manejan

Discreta

Continua

TIPOS DE AUTOMATAS (3)

Teoría de la Computación

Autómatas aceptadores o reconocedores:

Resuelven problemas con respuestas si- no que se modeliza normalmente

como la identificación de dos estados finales uno de aceptación y otro de

rechazo.

Autómatas generadores o transductores:

Construyen una respuesta específica (una salida) para el problema

planteado

Autómatas determinista:

La solución del problema viene unívocamente determinada por las

entradas y los estados internos del autómata

Autómatas no-deterministas:

La respuesta no esta unívocamente determinada

NOCIONES MATEMÁTICAS

1.1 CONJUNTOS

1.2

Un conjunto es una colección de objetos llamados elementos del conjunto. Si A es

un conjunto y a es un elemento de A utilizaremos la notación a € A (se lee “a es

un elemento de A”). Se usa la notación b €A cuando b no es un elemento de A.

Si A contiene exactamente los elementos a1, a2, . . . . ., an, lo indicamos

escribiendo A={a1,a2, . . . . ., an}. Un conjunto solo se caracteriza por sus

elementos y no por el orden en el cual se listan.

Page 8: Antologia Lenguajes y Automatas

Los conjuntos A y B son iguales si contienen los mismos elementos. Por lo tanto

si, A={1,2,3} y B={2,1,3} se puede escribir que A=B.

Algunas veces es conveniente describir el contenido de un conjunto en términos

de un propiedad que sea característica de todos los elementos del conjunto. Sea

P(x) una proposición sobre x. La notación {x€ P(x)}, que se interpreta como “ el

conjunto de todas las x tales que P(x) ”, denota el conjunto de todos los x para los

cuales P(x) es una proposición verdadera. (Todas las x tienen la propiedad P).

Notación de Conjuntos

P = { x | P(x)}. See lee “x tal que P(x) es verdadero”.

A= { x | x es una letra del alfabeto}.

A= { a, b, c, d, e, . . . . . . . . . z}.

Los conjuntos se representan de dos formas:

Por extensión → A={a, b, c, d, e, f, g, h, i, j, k, l, m, n, ñ, o, p, q, r, s, . . . . . . . . . . .

. }

Por comprensión → A={x | x es una letra del alfabeto}

Conjunto Finito

A={a, b, c, d, e, f, g, h, i, j, k, l, m, n, ñ, o, p, q, r, s, t, u, w, x, y, z }

Conjunto Infinito

B={1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, . . . . . . . . . . . . . . . . . . . . }

1.2 OPERACIONES CON CONJUNTOS

Las operaciones habituales que se definen sobre los conjuntos son: El conjunto 0

llamado conjunto vacío o nulo, no tiene elementos. El conjunto vació es un

subconjunto de todos los conjuntos.

La unión de conjuntos A y B se denota por A ∪ B y es un conjunto formado por los

elementos que aparecen en A, en B o en ambos.

Por lo tanto A ∪ ∈ A o x ∈ B}.

Por ejemplo, si A={1,2,3} y B={a,b}, entonces A ∪ B={1,2,3,a,b}.

La intersección de A y B es el conjunto de todos los elementos que

aparecen simultáneamente en A y también en B.

∈ A y x ∈ B}.

Por ejemplo, si A={1,4,5,7} y B={2,4,7,8}, entonces A ∩ B={4,7}. El complemento

relativo si Ay B son dos conjuntos cualesquiera, el complemento de B con

respecto a A es el conjunto: A- ∈ A y x ∈ B}.

Por lo tanto, A-B esta compuesto por todos los elementos de A que no

Page 9: Antologia Lenguajes y Automatas

están también, en B. Por ejemplo, si A={0,2,4,6,8,10} y B={0,1,2,3,4},

entonces AB=[6.8.10}, mientras

que

B-A={1,3}.

2 , el conjunto de potencia de A, es el conjunto formado por todos los

subconjuntos de A.

Por ejemplo, si A={a,b,c}. Entonces 2 ={ o, {a}, {b}, {c}, {a,b}, {a,c}, {b,c},

{a,b,c}}.

Dados dos conjuntos A y B, su producto cartesiano, AxB, es el

conjunto de todos los pares ordenados de los que el primer elemento proviene de

A y el ∈A y b∈B}. Por ejemplo, si

A={1,2,3} y B{5,6}

entonces: AxB={(1,5), (2,5), (3,5), (1,6), (2,6), (3,6)}.

Si A y B son conjuntos y todos los elementos de A son también

elementos de B, se escribe A ⊆ B y se dice que A es un subconjunto de B.

Por ejemplo A={1,2,3} y B={0,1,2,3,4,5}, se tiene A ⊆ B. Por otro

lado B no es un subconjunto de A, porque los elementos 0,4 y 5 de B no lo son de

A.

Ejemplo:

C ={Frutas}

S = {frutas cítricas}

S ⊆ C <=> Y x| x ∈ S = >X ∈ C

Se lee: S es un subconjunto de C o S esta incluido en C si para

todo x

( Y x). Tal que x pertenece al subconjunto de S, implica que x pertenece al

conjunto C.

La inclusión cuando cualquier elemento de A que este en B, o

cualquier elemento de B que este en A, o que sean iguales. Por ejemplo si

A={2,4,5,7,8}

y B={2,4}, entonces B ⊂ A={2,4}.

La cardinalidad de un conjunto es el numero de elementos de

ese

conjunto. Por ejemplo si A={a,b} entonces | A | = 2. la cardinalidad del conjunto

vació es 0 porque no tiene ningún elemento.

Page 10: Antologia Lenguajes y Automatas

Todos los conjuntos aquí tratados se consideran subconjuntos de un

conjunto universal U. Los complementos pueden ser formados con respecto

a este conjunto universal. Si A es un conjunto, entonces U-A es el conjunto

de todos los elementos que no están en A. Conviene denotar tales

complementos mediante A, de forma que U-A=A. Obsérvese que 0=U y U=0.

1.3 ALFABETOS (∑)

Un alfabeto es un conjunto no vació y finito de símbolos. En el caso del alfabeto

ingles, la colección definida es el conjunto de las letras del alfabeto junto con los

símbolos que se usan para construir palabras en inglés (tales como el guión, el

apostrofe y otros por el estilo).

Cada símbolo de un alfabeto es una cadena sobre dicho alfabeto. La cadena

vacía, la cual se denota por el símbolo ∑, es una palabra sobre cualquier alfabeto.

1.3 PROPIEDADES DE LAS CADENAS O “STRINGS”

1.4

Una cadena (o palabra) es una secuencia finita de símbolo. Por ejemplo: a, b y c

son símbolos y abcd es una cadena.

1.4.1 Cadena Vacía

La cadena vacía, denotada por ∑, es la cadena que consiste en cero

símbolos. Por tanto, tiene longitud | ∑| = 0.

1.4.2 Longitud

Si w es una cadena sobre cualquier alfabeto, su longitud se denota

como | w | . La longitud de w es el número de símbolos que tiene la cadena.

Por

ejemplo: abcd tiene longitud | w | = 4.

1.4.3 Concatenación

La concatenación de dos cadenas es la cadena que se forma al escribir la primera

seguida de la segunda, sin que haya espacio entre ellas. Por ejemplo: si

w=“banana” y z=”rama”, la concatenación de w con z es la cadena “bananarama”.

La

concatenación de las cadenas w y z se denota como wz o w.z.

La cadena vacía es la identidad para el operador de concatenación.

Es decir, ∑ = w |∑|= z x=∑ para cada cadena x=casa z=vacio w = roja .

Xzw = casa roja xw = casaroja

Page 11: Antologia Lenguajes y Automatas

1.4.4 Potencia

La noción de potencia de una cadena sobre un alfabeto es dada por la notación w

que denota la concatenación de k copias de la cadena w.

Por tanto, si W=122 sobre el alfabeto ∑={1,2}, se tiene:

W = ∑

W = 122

W = 122122

W = 122122122

1.4.5 Igualdad de Cadenas

Si w y z con cadenas, se dice que w es igual a z, si tienen la misma

longitud y los mismos símbolos en la misma posición. Se denota mediante w = z.

1.4.6 Prefijo

Los prefijos de un cadena esta formados por los primeros símbolos de esta. Por

ejemplo, la cadena 121 sus prefijos son: ∑, 1, 12, y 121 con lo que toda palabra

puede considerarse prefijo de si misma. Un prefijo de una cadena que no sea la

misma cadena es u prefijo propio.

1.4.7 Sufijo

Los sufijos de una cadena están formados por los últimos símbolos de esta. Por

ejemplo, la cadena abc sus sufijos son: ∑, c, bc, abc. Un sufijo de una cadena que

no sea la misma cadena es un sufijo propio.

1.4.8 Subcadena.

Una cadena w es una subcadena o subpalabra de otra cadena z si existen las

cadena x e y para las cuales z = xwy.

Page 12: Antologia Lenguajes y Automatas

1.4.9 Transpuestas

La inversa o transpuesta de una cadena w es la imagen refleja de w. Por ejemplo,

si w = “able” entonces su inversa es “elba”. Para denotar la inversa de w se usa

w`.

Page 13: Antologia Lenguajes y Automatas

UNIDAD 2

EXPRESIONES REGULARES

Page 14: Antologia Lenguajes y Automatas

EXPRESIONES REGULARES

Es un metodo de representación para cadenas de caracteres validas en un

lenguaje.

Una expresión regular, a menudo llamada también patrón, es una expresión que

describe un conjunto de cadenas sin enumerar sus elementos. Por ejemplo, el

grupo formado por las cadenas Handel, Händel y Haendel se describe mediante el

patrón "H(a|ä|ae)ndel". La mayoría de las formalizaciones proporcionan los

siguientes constructores: una expresión regular es una forma de representar a los

lenguajes regulares (finitos o infinitos) y se construye utilizando caracteres del

alfabeto sobre el cual se define el lenguaje. Específicamente, las expresiones

regulares se construyen utilizando los operadores unión concatenación y

clausura de Kleene.

Terminología. Teoría de la Computación

| Alternación

Una barra vertical separa las alternativas. Por ejemplo, "marrón|castaño" casa con

marrón o castaño.

Cuantificación:

Un cuantificador tras un carácter especifica la frecuencia con la que éste puede

ocurrir. Los cuantificadores más comunes son +, ? y *:

+ Mas

El signo más indica que el carácter al que sigue debe aparecer al menos una vez.

Por ejemplo, "ho+la" describe el conjunto infinito hola, hoola, hooola, hoooola,

etcétera.

? Interrogación

El signo de interrogación indica que el carácter al que sigue puede aparecer

como mucho una vez. Por ejemplo, "ob?scuro" casa con oscuro y obscuro.

* Asterisco

El asterisco indica que el carácter al que sigue puede aparecer cero, una, o más

veces. Por ejemplo, "0*42" casa con 42, 042, 0042, 00042, etcétera.

Page 15: Antologia Lenguajes y Automatas

Agrupación:

( ) Paréntesis ()

Los paréntesis pueden usarse para definir una concatenación con los demás

operadores. Por ejemplo, "(p|m)adre" es lo mismo que "padre| madre", y

"(des)?amor" casa con amor y con desamor.

[ ] Corchetes

Los corchetes se utilizan como opción Por ejemplo: a[b]c, que forma las cadenas

abc o ac. Los constructores pueden combinarse libremente dentro de la

misma expresión, por lo que "H(ae?|ä)ndel" equivale a "H(a|ae|ä)ndel".

La sintaxis precisa de las expresiones regulares cambia según las herramientas y

aplicaciones consideradas, y se describe con más detalle a continuación.

Su utilidad más obvia es la de describir un conjunto de cadenas, lo que resulta de

utilidad en editores de texto y aplicaciones para buscar y manipular textos.

Muchos lenguajes de programación admiten el uso de expresiones regulares

con este fin. Por ejemplo, Perl tiene un potente motor de expresiones regulares

directamente incluido en su sintaxis. Las herramientas proporcionadas por las

distribuciones de Unix (incluyendo el editor sed y el filtro grep) fueron las primeras

en popularizar el concepto de expresión regular.

Características de las expresiones regulares.

1.- Proporciona una notación clara y concisa para componentes léxicos.

2.- Puede construir automáticamente analizadores léxicos eficientes a partir de

expresiones regulares.

3.- Útiles para representar las estructuras de las construcciones o componentes

léxicos de los identificadores, constantes y las palabras reservadas.

Ejemplos de autómatas con sus expresiones regulares:

La siguiente Expresión regular forma enteros, reales y reales con notación

científica. d+[. d+[ E(+ | -) dd] ] la “d” representa digito. Algunas cadenas

formadas por la expresión son:

33 , 234.34 , 34.34E+02.

Page 16: Antologia Lenguajes y Automatas

El siguiente autómata representa la expresión regular anterior

Page 17: Antologia Lenguajes y Automatas

UNIDAD 3

AUTOMATAS FINITOS

Page 18: Antologia Lenguajes y Automatas

Lenguaje regular

Un lenguaje regular es un tipo de lenguaje formal que satisface las siguientes propiedades: Puede ser reconocido por:

• un autómata finito determinista

• un autómata finito no determinista

• un autómata finito alterno

• una máquina de Turing de solo lectura

Es generado por:

• una gramática regular

• una gramática de prefijos

Es descrito por:

• una expresión regular

Lenguajes regulares sobre un alfabeto

Un lenguaje recursivo sobre un alfabeto S dado se define recursivamente como:

• El lenguaje vacío es un lenguaje regular

• El lenguaje cadena vacía {e} es un lenguaje regular

• Para todo símbolo a € ∑ {a} es un lenguaje regular ∈

Si A y B son lenguajes regulares entonces A B (unión), A•B (concatenación) y∪

A* (clausura o estrella de Kleene) son lenguajes regulares

Si A es un lenguaje regular entonces (A) es el mismo lenguaje regular

No existen más lenguajes regulares sobre S

Todo lenguaje formal finito constituye un lenguaje regular. Otros ejemplos típicos

son todas las cadenas sobre el alfabeto {a, b} que contienen un número par de

aes o el lenguaje que consiste en varias aes seguidas de varias bes. Si un

lenguaje no es regular requiere una máquina con al menos una complejidad de

O(log log n) (donde n es el tamaño de la entrada). En la práctica La mayoría de los

problemas no regulares son resueltos con una complejidad logarítmica.

Page 19: Antologia Lenguajes y Automatas

Un lenguaje formal infinito puede ser regular o no regular. El lenguaje L = {an, n

> 0} es regular porque puede ser representado, por ejemplo, mediante la

expresión regular a+. El lenguaje L= {an bn, n > 0} es un lenguaje no regular dado

que no es reconocido por ninguna de las formas de representación anteriormente

enumeradas.

Propiedades de cierre

Los lenguajes regulares son cerrados con las siguientes operaciones, de modo

que si L y P son lenguajes regulares los siguientes lenguajes también serán

regulares:

• El complemento de L

• La clausura o estrella de Kleene L* de L

• El homomorfismo f(L) de L

• La concatenación L'P de L y P

• La unión L P de L y P ∪

• La intersección L n P de L y P

• La diferencia L \ P de L y P

• El reverso LR de L

Decidir cuándo un lenguaje es regular Para situar los lenguajes regulares en la jerarquía de Chomsky hay que notar que

todo lenguaje regular es también un lenguaje independiente de contexto, aunque

la afirmación contraria no es cierta, por ejemplo: el lenguaje que contiene el mismo

número de aes y de bes es independiente de contexto pero no regular. Para

probar que un lenguaje de este tipo no es regular se usa el teorema de Myhill-

Nerode, o el lema de bombeo por ejemplo.

Hay dos aproximaciones puramente algebraicas para definir lenguajes regulares.

Si S es un alfabeto finito y S* es un monoide libre consistente en todas las

cadenas sobre S, f: S* → M es un monoide simétrico donde M es un monoide

finito y S es un subconjunto de M entonces el conjunto f-1(S) es regular. Todo

lenguaje regular se presenta de esta manera.

Page 20: Antologia Lenguajes y Automatas

UNIDAD 4

MAQUINA DE TURING

Page 21: Antologia Lenguajes y Automatas

MAQUINA DE TURING

Una máquina de Turing es un dispositivo que manipula símbolos sobre una tira

de cinta de acuerdo a una tabla de reglas. A pesar de su simplicidad, una máquina

de Turing puede ser adaptada para simular la lógica de

cualquier algoritmo decomputador y es particularmente útil en la explicación de las

funciones de una CPU dentro de un computador.

La máquina de Turing fue descrita por Alan Turing como una «máquina

automática» en 1936 en la revista Proceedings of the London Mathematical

Society,1 La máquina de Turing no está diseñada como una tecnología de

computación práctica, sino como un dispositivo hipotético que representa

una máquina de computación. Las máquinas de Turing ayudan a los científicos a

entender los límites del cálculo mecánico.

Turing dio una definición sucinta del experimento en su ensayo de 1948,

«Máquinas inteligentes». Refiriéndose a su publicación de 1936, Turing escribió

que la máquina de Turing, aquí llamada una máquina de computación lógica,

consistía en:

...una ilimitada capacidad de memoria obtenida en la forma de una cinta

infinita marcada con cuadrados, en cada uno de los cuales podría

imprimirse un símbolo. En cualquier momento hay un símbolo en la

máquina; llamado el símbolo leído. La máquina puede alterar el símbolo

leído y su comportamiento está en parte determinado por ese símbolo, pero

los símbolos en otros lugares de la cinta no afectan el comportamiento de la

máquina. Sin embargo, la cinta se puede mover hacia adelante y hacia

atrás a través de la máquina, siendo esto una de las operaciones

elementales de la máquina. Por lo tanto cualquier símbolo en la cinta puede

tener finalmente una oportunidad.2(Turing 1948, p. 61)

Una máquina de Turing que es capaz de simular cualquier otra máquina de

Turing es llamada una máquina universal de Turing (UTM, o simplemente una

máquina universal). Una definición más matemáticamente orientada, con una

similar naturaleza "universal", fue presentada por Alonzo Church, cuyo trabajo

sobre el cálculo lambda se entrelaza con el de Turing en una teoría formal de

la computación conocida como la tesis de Church-Turing. La tesis señala que

las máquinas de Turing capturan, de hecho, la noción informal de un método

Page 22: Antologia Lenguajes y Automatas

eficaz en la lógica y las matemáticas y proporcionan una definición precisa de

un algoritmo o 'procedimiento mecánico'.

Page 23: Antologia Lenguajes y Automatas

Alan Turing introdujo el concepto de máquina de Turing en el trabajo On

computable numbers, with an application to the Entscheidungsproblem, publicado

por la Sociedad Matemática de Londres en 1936, en el que se estudiaba la

cuestión planteada porDavid Hilbert sobre si las matemáticas son decidibles, es

decir, si hay un método definido que pueda aplicarse a cualquier sentencia

matemática y que nos diga si esa sentencia es cierta o no. Turing ideó un modelo

formal de computador, la máquina de Turing, y demostró que existían problemas

que una máquina no podía resolver.

Con este aparato extremadamente sencillo es posible realizar cualquier cómputo

que un computador digital sea capaz de realizar.

Page 24: Antologia Lenguajes y Automatas

UNIDAD5

ANALISIS LEXICO

Page 25: Antologia Lenguajes y Automatas

ANALISIS LEXICO Se le llama autómata finito, porque nos lleva a un término o a un fin y nos sirve

para representar un flujo de información o un estímulo, para formar cadenas

pertenecientes a un lenguaje. Un lenguaje es el conjunto de cadenas aceptadas

por un autómata. Sin embargo un Lenguaje no está asociado a un único

autómata. Es más , a un mismo lenguaje le podemos asociar siempre muchos

autómatas que reconocen las cadenas en el.

El funcionamiento de los autómatas finitos consiste en ir pasando de un estado a

otro, a medida que va recibiendo los caracteres de la palabra de entrada. Este

proceso puede ser seguido fácilmente en los diagramas de estados. Simplemente

hay que pasar de estado a estado siguiendo las flechas de las transiciones,

para cada carácter de la palabra de entrada, empezando por el estado

inicial. Por ejemplo, supóngase que tenemos el autómata de la figura A la

palabra de entrada “bb”. El autómata inicia su operación en el estado q0 que es el

estado inicia y al recibir la primera b pasa al estado q2, pues en el diagrama

hay una flecha de q0 a q2 con la letra b. Luego, al recibir la segunda b de la

palabra de entrada, pasaría del estado q2 a el mismo,

Page 26: Antologia Lenguajes y Automatas

pues en la figura se puede ver una flecha que de q2 regresa al mismo estado, con

la letra b. Podemos visualizar el camino recorrido en el diagrama de estados

como una “trayectoria” recorrida de estado en estado. Por ejemplo, para el

autómata finito de la figura A la trayectoria seguida para la palabra ab

consiste en la secuencia de estados:

q0, q1, q1.

Los estados son el único medio de que disponen los AF (Autómatas Finitos) para

recordar los eventos que ocurren (por ejemplo, qué caracteres se han leído

hasta el momento); esto quiere decir que son maquinas de memoria limitada. En

última instancia, las computadoras digitales son máquinas de memoria limitada,

aunque la cantidad de estados posibles de su memoria podría ser enorme.

Page 27: Antologia Lenguajes y Automatas

UNIDAD 6

ANALISIS SINTACTICO

Page 28: Antologia Lenguajes y Automatas

El análisis sintáctico es el análisis de las funciones sintácticas o relaciones

de concordancia y jerarquía que guardan las palabras agrupándose entre sí

en sintagmas,oraciones simples y compuestas de proposiciones o nexos. Como

no está muchas veces claro el límite entre la sintaxis y la morfología a estos

respectos, especialmente según el tipo de lengua de que se trate, también se

suele denominar análisis morfosintáctico, aunque esta denominación se suele

reservar para un análisis más profundo y detenido.

Su estudio es importante, ya que de un correcto análisis sintáctico depende a

menudo la interpretación y comprensión de los textos, especialmente de

los documentosproblemáticos en legislación, política o tecnología (el

llamado procesamiento de lenguajes naturales). Diversas corrientes de

la lingüística han propuesto a su vez diversos métodos de análisis; el que se

enseña en las escuelas es el de la gramática tradicional, algo influido por

el Estructuralismo; también tienen sus partidarios los modelos

delGenerativismo o Gramática generativa y transformacional, el modelo

del Funcionalismo, el del Distribucionalismo, las Gramáticas de adjunción de

árboles y tantos otros. En este artículo se esbozará el análisis sintáctico tal y como

se aprende generalmente en la enseñanza media.

n muchas aplicaciones prácticas y en la enseñanza escolar se asume a

críticamente que dada una oración u expresión, el análisis sintáctico es un

procedimiento determinista que mediante un conjunto fijo de reglas permite

establecer asignar una interpretación sintáctica a dicha oración. Sin embargo, la

propia existencia de oraciones ambiguas refleja que no es posible establecer la

estructura sintáctica sin aludir a factores de significado que son extrasintácticos.

Además el análisis sintáctico dependerá de la escuela lingüística, el paradigma del

investigador que lo use, etc. En realidad a un nivel avanzado no existe ninguna

manera de decidir cual es la estructura sintáctica más idónea de muchas

oraciones concretas (en especial algunas complejas). La propia discusión de si

Page 29: Antologia Lenguajes y Automatas

todos los sintagmas son o no endocéntricos o qué constituye un núcleo

sintáctico son problemas abiertos.

En lingüística teórica el análisis sintáctico sirve para ver qué predicciones hace

cada tipo de análisis sintáctico posible. Frecuentemente autores diferentes dan

análisis diferentes, con el fin de explicar diferentes aspectos y hacer conjeturas

sobre la estructura de las lenguas. Hoy por hoy muchos aspectos del análsis

sintácticos son problemas abiertos sobre los que son posibles diferentes análisis

sintácticos y para los que se pueden conjeturar estructuras sintácticas diferentes la

aplicación de un conjunto de reglas deterministas puede descubrirse qué

estructura sintáctica tiene cualquier oración ha sido definitivamente desechada en

lingüística teórica.

Igualmente compatibles con los hechos. Sobre la base de su mejor o peor

adecuación a los datos una lengua y qué predicciones degramati calidad hace

cada teoría o tipo de análisis se considera que un determinado análisis es más útil,

pero en el fondo todos estos análisis son modelos cuyo uso estará o no justificado

en función de la investigación, pero la propia idea de que existe un modelo

sintáctico totalmente satisfactorio y que mediante la aplicación de un conjunto de

reglas deterministas puede descubrirse qué estructura sintáctica tiene cualquier

oración ha sido definitivamente desechada en lingüística teórica.