1. GRAMATICA
Esta Pagina será modificada por Brenda María Salazar
Chavez//
La gramática de un lenguaje es el conjunto de reglas capaces de generar todas las
posibilidades combinatorias de ese lenguaje, ya sea éste un lenguaje formal o un
lenguaje natural.
La expresión “gramática formal” tiene dos sentidos:
(a) gramática de un lenguaje formal. (b) descripción formal de la gramática de un
lenguaje natural.
En cuanto a (b), la descripción formal de la gramática de una lengua es la que explicita
las reglas combinatorias mentales a partir de fórmulas lógico-matemáticas.
Estas reglas combinatorias que utiliza el lenguaje natural reciben el nombre de sintaxis,
y son inconscientes.
En cuanto a (a), „gramática formal‟ se utiliza en analogía con el concepto de gramática,
usado tradicionalmente para los lenguajes naturales. Por tanto, una gramática formal es
el conjunto de reglas combinatorias de un lenguaje formal. Hay distintos tipos de
gramáticas formales que generan lenguajes formales (véase la Jerarquía de Chomsky).
Imaginemos una gramática con estas dos reglas:
1. A → bAc 2. A → de
La idea es substituir el símbolo inicial de la izquierda por otros símbolos aplicando las
reglas. El lenguaje al cual representa esta gramática es el conjunto de cadenas de
símbolos que pueden ser generados de esta manera: en este caso, por ejemplo:
A → bAc → bbAcc → bbbAccc -→ bbbdeccc.
El elemento en mayúsculas es el símbolo inicial. Los elementos en minúsculas son
símbolos terminales. Las cadenas de la lengua son aquellas que solo contienen
elementos terminales, como por ejemplo: bbbdeccc, de, bdec, … Estas serían tres
posibles realizaciones del lenguaje cuya gramática hemos definido con dos reglas.
2. LENGUAJE FORMAL
En matemáticas, lógica, y las ciencias computacionales, un lenguaje formal es un
conjunto de palabras (cadenas de caracteres) de longitud finita formadas a partir de un
alfabeto (conjunto de caracteres) finito.
Informalmente, el término lenguaje formal se utiliza en muchos contextos (en las
ciencias, en derecho, etc.) para referirse a un modo de expresión más cuidadoso y
preciso que el habla cotidiana. Hasta finales de la década de 1990, el consenso general
era que un lenguaje formal, en el sentido que trata este artículo, era en cierto modo la
versión «límite» de este uso antes mencionado: un lenguaje tan formalizado que podía
ser usado en forma escrita para describir métodos computacionales. Sin embargo, hoy
en día, el punto de vista de que la naturaleza esencial de los lenguajes naturales (sin
importar su grado de «formalidad» en el sentido informal antes descrito) difiere de
manera importante de aquella de los verdaderos lenguajes formales (en el sentido
estricto de este artículo) gana cada vez más adeptos.
Un posible alfabeto sería, digamos, {a, b}, y una cadena cualquiera sobre este alfabeto
sería, por ejemplo, ababba. Un lenguaje sobre este alfabeto, que incluyera esta cadena,
sería: el conjunto de todas las cadenas que contienen el mismo número de símbolos a
que b, por ejemplo.
La palabra vacía (esto es, la cadena de longitud cero) es permitida y frecuentemente
denotada mediante ε o λ. Mientras que el alfabeto es un conjunto finito y cada palabra
tiene una longitud también finita, un lenguaje puede bien incluir un número infinito de
palabras.
Algunos ejemplos varios de lenguajes formales:
* el conjunto de todas las palabras sobre {a, b}
* el conjunto {an: n es un número primo}
* el conjunto de todos los programas sintácticamente válidos en un
determinado lenguaje de programación
* el conjunto de entradas para las cuales una particular máquina
de Turing se detiene.
Los lenguajes formales pueden ser especificados en una amplia variedad de maneras,
como:
* cadenas producidas por una gramática formal (ver Jerarquía de
Chomsky)
* cadenas producidas por una expresión regular
3. * cadenas aceptadas por un autómata, tal como una máquina de
Turing
Varias operaciones pueden ser utilizadas para producir nuevos lenguajes a partir de
otros dados. Supóngase que L1 y L2 son lenguajes sobre un alfabeto común. Entonces:
* la concatenación L 1 L 2? consiste de todas aquellas palabras de
la forma vw donde v es una palabra de L1 y w es una palabra de L2
* la intersección L1&L2 consiste en todas aquellas palabras que
están contenidas tanto en L1 como en L2
* la unión L1|L2 consiste en todas aquellas palabras que están
contenidas ya sea en L1 o en L2
* el complemento ~L1 consiste en todas aquellas palabras
producibles sobre el alfabeto de L1 que no están ya contenidas en L1
* el cociente L1/L2 consiste de todas aquellas palabras v para las
cuales existe una palabra w en L2 tales que vw se encuentra en L1
* la estrella L1* consiste de todas aquellas palabras que pueden
ser escritas de la forma W 1 W 2?…Wn donde todo Wi se encuentra en L1 y
n ≥ 0. (Nótese que esta definición incluye a ε en cualquier L*)
* la intercalación L1*L2 consiste de todas aquellas palabras que
pueden ser escritas de la forma v1w1v2w2…vnwn; son palabras tales que
la concatenación v1…vn está en L1, y la concatenación w1…wn está en L2
Una pregunta que se hace típicamente sobre un determinado lenguaje formal L es cuán
difícil es decidir si incluye o no una determinada palabra v. Este tema es del dominio de
la teoría de la computabilidad y la teoría de la complejidad computacional.
Por contraposición al lenguaje propio de los seres vivos y en especial el lenguaje
humano, considerados lenguajes naturales, se denomina lenguaje formal a los lenguajes
«artificiales» propios de las matemáticas o la informática, los lenguajes artificiales son
llamados lenguajes formales (incluyendo lenguajes de programación). Sin embargo, el
lenguaje humano tiene una característica que no se encuentra en los lenguajes de
programación: la diversidad.
En 1956, Noam Chomsky creó la Jerarquía de Chomsky para organizar los distintos
tipos de lenguaje formal.
LEGUAJES FORMALES
Una manera formal de establecer un lenguaje es escribiendo las reglas que lo generan,
de esta forma es mediante la definición de una gramática.
Definición. Una gramática es un cuarteto (V, ∑, p, S) donde:
4. I.V es un conjunto finito de símbolos no-terminales o variables.
II. ∑ es el alfabeto ó conjunto de símbolos terminales.
III. P es una relación en (V υ ∑)* son las reglas de producción tal que los primeros elementos en p
contienen al menos un símbolo es V.
IV. S € V es el símbolo de comienzo.
De acuerdo a la forma de las reglas de producción se obtiene gramáticas de diferentes
tipos. Las reglas de producción son las parejas en la relación y se utiliza E1→E2 para
representar la regla (E1, E2) en p. La única condición que se le pide es que contenga por
lo menos una variable en E1.
La longitud de una palabra es la cantidad de letras que la componen, así: E tiene
longitud O, CASA tiene longitud 4, etc.
TIPOS DE GRAMATICAS
Gramática tipo 0. Cualquier gramática que cumpla con la definición.
Gramática tipo 1. En toda regla E1→ E2 la longitud de E1 es menor ó igual A la longitud E2
Gramática tipo 2. En toda regla E1→ E2, E1 € V.
Gramática tipo 3. En toda regla E1→ E2, E1 € V y E2 es un elemento de (∑*V υ ∑)
Nombre de la asignatura: Lenguaje de programación.
Aspectos Generales
URL:http://www.mitecnologico.com/Main/GramaticasYLenguajesFormales
La página pertenece a una institución llamada MiTecnologico que se encarga
de prestar servicios de desarrollar programas de todas las carreras para los
Institutos Tecnológicos.
Entre los objetivos de la página se cuenta el de desarrollar currículos y
programas para el sector de educación tecnológica.
El alojamiento de la web esta en BSB-Service GmbH.No tiene país definido y
la pagina está escrita en castellano. Nos encontramos ante un sitio web de
una institución tecnológica.
Aspectos Curriculares
A rasgos generales el sitio permite que un docente en particular use los
contenidos para su propia actividad. Son contenidos aprovechables para que
el estudiante haga su labor de estudio.
5. Aspectos Gráficos:
La pagina posee un ambiente estático está diseñado con una fuente de
tamaño muy pequeño lo cual puede dificultar su lectura, los colores son
suaves lo cual hace agradable la interfaz y no posee imágenes.
Aspectos Técnicos:
El acceso a la página y a la mayoría de los recursos son gratis .
En relación a la publicidad cuenta con enlaces a cursos pagos y promoción
de eventos, todos estos relacionados con el e-learning, lo cual es positivo.
La navegabilidad en la página se hace ligera y no tardan en cargar los
enlaces, los vínculos están correctamente activos. En la parte interactiva
cuenta con un blog y correo de contacto.
Conclusión:
La página se adapta a los requerimientos académicos de la
asignatura por lo que será utilizada como material de consulta para
mis estudiantes.