Sintaxis y Semantica de Lenguajes2013

69
UTN - FRM: Fundamentos de sintaxis y semántica 1 Gramáticas y Reconocimiento de Lenguajes

description

sintaxis

Transcript of Sintaxis y Semantica de Lenguajes2013

Introduccin

UTN - FRM: Fundamentos de sintaxis y semntica1Gramticas yReconocimientode Lenguajes

1

2UTN - FRM, SSL: Proceso de traduccinEl problema de la traduccin2UTN-FRM: Sintaxis y semntica de lenguajesReconocimiento de cdigo fuenteUTN - FRM: Fundamentos de sintaxis y semntica3Anlisis LxicoAnlisis SintcticoAnlisis SemnticotokensrbolesProgramaescrito en algn lenguajeUnidad IUnidad IITraductorPrograma en lenguaje de mquina3Descripcin de lenguajesLenguajes de programacinProgramasLenguajes de alto nivel y de mquinaTraductoresEspecificaciones gramaticales y semnticasUTN - FRM: Fundamentos de sintaxis y semntica4Lenguajes formalesAlfabetoPalabrasSintaxisReglas de formacin de palabras y frasesSemnticaSignificado de las palabras y frases4Conceptos sobre lenguajesSmbolosAlfabeto: = {a, b, c, ...}UTN - FRM: Fundamentos de sintaxis y semntica5Cadenas o palabrasn con n >= 00 = {}(vaco , , , )* = 0 1 2 ...+ = 1 2 ... = * - {}Universo de un alfabeto W()Lenguaje sobre un alfabeto L() W()5OperacionesCon palabrasConcatenacin: X.YPotencia: XiReflexin: X-1 o XR UTN - FRM: Fundamentos de sintaxis y semntica6Con lenguajesUnin: L1 L2Interseccin: L1 L2Resta:L1 L2Concatenacin: L1 L2Potencia: LiClausura: L+ = Ui=1 LiCierre: L*=L+ U {}Reflexin: L-16Reglas de produccinN RN (elemento a definir) R (patrn de generacin)Sean: v wdonde v, w *Derivacin directa: v wDerivacin: v v1 v2 wRegla compresoraN R |N| > |R|Ej: 101 11

Derivacin por izquierda y por derechaSea la palabra 00011 y las reglas a) 01 11 b) 00 10 UTN - FRM: Fundamentos de sintaxis y semntica7Por izq:

Por dcha:

00011-> b10011-> b11011-> a1111100011-> a00111-> a01111-> a111117Gramticas formalesDefinicin: G = {, t, S, P}alfabeto (t U n) n = variablestconjunto de smbolos terminalesSaxioma S nPconjunto finito de reglas de produccinUTN - FRM: Fundamentos de sintaxis y semntica8Lenguaje generado: L(G) conjunto de todas las palabras o cadenas generadas por la gramticaEquivalencia: L(G1) = L(G2)8Gramticas formalesP = { S -> aSb, S -> aSbb, S -> b }t = { S }n = { a, b } Qu genera?

UTN - FRM: Fundamentos de sintaxis y semntica9a S bSa S b bbaabbbbDados t = {S, T} n = {a, b}Obtener P para L = { ar b / r > 0 }S -> aSS -> bS -> aTT -> aTT -> bXS -> aSS -> aTT -> bDados t = {S, T} y n = {a, b, c}Obtener P para L = { ar b cr / r > 0 }S -> aScS -> bXS -> aScS -> TT -> b9Jerarqua de gramticas (Chomsky)UTN - FRM: Fundamentos de sintaxis y semntica1010G3 (regulares)Regular x derechaS -> 1AA -> 1A | 0B | 0B -> 0B | 0UTN - FRM: Fundamentos de sintaxis y semntica11Regular x izquierdaS -> C0C -> C0 | D1 | 1D -> D1 | 1

Ambas generan1100011G2 (independientes de contexto)UTN - FRM: Fundamentos de sintaxis y semntica12G1 (no estricta)S -> ABA -> 0A1 | B -> 2B | G2 (estricta)S -> AB | A | B | A -> 0A1 | 01B -> 2B | 2G1 no es estricta ya que incluye reglas nulas asociadas a smbolos que no son el axiomaAmbas generan0n1n2m con n, m 012rbol de derivacinUTN - FRM: Fundamentos de sintaxis y semntica13

Sea G = { t, n, S, P }t= { 0, 1, [, ], +, * }n= { E }S= EP= {E[EE+],E[EE*],E0, E1}Para la cadena: [0[01*]+]

13rbol de derivacin y ambigedadSea: S S a S | S b S | c Qu pasa para cbcac ?Necesidad de reglas de precedenciaSea: E E+E | E*E | E^E | id |(E)Expresin: x + y ^ z ^ v * w

Jerarqua: 1) ^ 2) * 3) +Asociatividad: * + (izq-dcha)^ (dcha-izq)Ambiguedad en lenguaje Fortranz = x + algo(3, 4) arreglo o funcin?UTN - FRM: Fundamentos de sintaxis y semntica14

14 := A | B | C + | * | ( ) |

Para ?B := B + A * C (ambigua)

Para ?B := B + ( A * C )

Para ?C := (B + C) * (A := B)

UTN - FRM: Fundamentos de sintaxis y semntica15rbol de derivacin y ambigedad

15Notacin BNF y EBNFEs un meta-lenguaje, para especificacin sintctica de uso casi universalUTN - FRM: Fundamentos de sintaxis y semntica16BNF (John Bakus, Peter Naur Normal Form - 1959) a + ::= ( ) |Ejemplo ::= 0 | 1 | | 9 ::= ::= EBNF (Extended BNF){ }* o {} { }+ [ ]Ejemplo ::= 0 | 1 | | 9 ::= {}*16Diagramas sintcticosUTN - FRM: Fundamentos de sintaxis y semntica17

17BNF EBNF DiagramasBNF: ::= + | - | UTN - FRM: Fundamentos de sintaxis y semntica18EBNF: ::= { (+ | -) }

exprterm+-termDiagrama sintctico18NotacionesUTN - FRM: Fundamentos de sintaxis y semntica19InfijaPostfijaPrefijaa + d * g - ha d g * + h - + a * d g hCa = a + bPostScript/a a b add defLisp(setf a (+ a b))Infijams usual (requiere parntesis)PostfijaEvaluacin muy eficientePrefijanotacin funcional19UTN - FRM: Fundamentos de sintaxis y semntica20Autmatas(mquinas abstractaso de estados)20AutmatasPermiten simular procesos para tratar informacinla informacin se codifica en cadenas de smbolosson dispositivos que manipulan cadenas de smbolos procesan cadenas de entrada y producen cadenas de salidareciben los smbolos de entrada secuencialmenteEl smbolo de salida, en un instante dado depende deel ltimo smbolo de entradala secuencia o cadena, que ha recibido hasta ese instanteel estado en que se encuentraEstados de un autmataen un instante de tiempo dado, slo puede estar en un estadoestados iniciales y estados finalesFormas de descripcin: grfica, matricial, funcionalSe usan como reconocedores de lenguajesExisten distintos tipos de autmatasUTN - FRM: Fundamentos de sintaxis y semntica2121Mquina de MealyM = (e, s, Q, f, g)e: alfabeto de entradas: alfabeto de salidaQ: conjunto de estados f: Q x e Q g: Q x e sTransiciones x/y dondex es el smbolo de entraday es el smbolo de salidaLa salida depende del estado actual y de la entrada

UTN - FRM: Fundamentos de sintaxis y semntica2222Mquina de MooreM = (e, s, Q, f, g)e: alfabeto de entradas: alfabeto de salidaQ: conjunto de estados f: Q x e Q g: Q s

La salida depende slo del estado actualPara el mismo proceso, suelen tener ms estados que las mquinas de Mealy

UTN - FRM: Fundamentos de sintaxis y semntica23A/00010C/0B/11000A00/010/0CB10/100/0A0/111/11CB0/001/01A/1101C/01B/000123AFD = (, q0, Q, F, f): alfabeto de entrada ??q0: estado inicial Q ??Q: estados ??F: estados finales Q ??f: Q x Q ??Autmata finito deterministaUTN - FRM: Fundamentos de sintaxis y semntica24Habitualmente slo se representan las transiciones que conducen al reconocimiento de alguna cadena, considerndose implcito un "estado de captacin global", donde se supone que llegan los arcos omitidos.Notacin funcionalf(1, a) 2f(1, b) 3f(2, a) 2f(3, b) 2f(3, $) 4f(4, $) 4f(4,2) 3Notacin matricialab$2123--22---3-24-4--431342ab$2b$a0$, 2b, $, 2a, 2a, bAlgoritmo de implementacin24q0q1q2q310,10,1Autmata finito no-deterministaAFND = (, q0, Q, F, f): alfabeto de entrada ??q0: estado inicial Q ??Q: estados ??F: estados finales Q ??f: Q x ( {}) P(Q) ??

UTN - FRM: Fundamentos de sintaxis y semntica2510100125Gramticas G3 y autmatasGramtica regularT = {0, 1}N = {A, B, S}P = { S -> 0A, A -> 0S, A -> 1B, B -> 1, B -> 0 }Autmata

Expresin regular0.(0.0)*.1.(1|0)

UTN - FRM: Fundamentos de sintaxis y semntica2626Expresiones regularesIntroducidas por Kleene (1956)Describen mquinas de estados finitosOperadoresUnin| V +Concatenacin.Cierre (Kleene)*Cierre (positivo)+

Sea a.(b|c*).d cul es el AEF y la gramtica?UTN - FRM: Fundamentos de sintaxis y semntica27

27Propiedades de las ERUTN - FRM: Fundamentos de sintaxis y semntica28Sea L = {a, b, c}* Son equivalentes: c*.c | c* = c* ?

1)2)3)4)28Reglas de transformacin

Algoritmos formalesMcNaughton-Yamada-Thompson

Expresiones regulares y AEFUTN - FRM: Fundamentos de sintaxis y semntica29qiqkqfaba.bqiqfaba|bqiqkqfEEaa*Sea: (x | y*).z*.wq0q2q1yzwx29

Algoritmo de transformacinUTN - FRM: Fundamentos de sintaxis y semntica30Por ejemplo sea (1 | 0)*1 se obtiene un AFND

r|sar.sLuego se lleva a un AFD y seminimizar*ER vs AEF30Equivalencia de autmatasUTN - FRM: Fundamentos de sintaxis y semntica31 AFND AFDUn AFD es un caso particular de AFNDN=(, q0, Q, F, f) equivale a D=(, {q0}, Q, F, f)Es decir N = D / L(D)=L(N)Si se cumple: Q = 2|Q| (conjunto potencia P(Q) )qi = [qi , , qf ] => {qi , , qf} Qq0 = {q0}F = { q Q / q F } (al menos uno sea final)f(q, a) = {qq f(q, a)} / q Q ^ a

31Equivalencia de autmatasSe basa en la construccin de subconjuntosA cada estado del AFD le corresponde un conjunto de estados del AFNDAlgoritmo:Para cada estado del AFND y cada smbolo de entrada, analizar cules estados son alcanzablesAgrupar esos estados en estados compuestosHacer lo mismo con los estados compuestosFinalmente eliminar los estadosNo alcanzables (menos inicial y final)Alcanzables que han sido eliminados en el paso anterior

UTN - FRM: Fundamentos de sintaxis y semntica3232Equivalencia de autmatasAFND

AFD: estados alcanzables desde {q0} UTN - FRM: Fundamentos de sintaxis y semntica33 Cmo se obtiene ?

33Algoritmo de minimizacinUTN - FRM: Fundamentos de sintaxis y semntica34Sean AFD=(, q0, Q, F, f) = AFDM=(, q0, Q, F, f) / L(AFD)=L(AFDM)Eliminar los estados no alcanzables desde el estado inicialEliminar los estados desde los que no se alcanza un estado finalLuego:Hacer particin inicial P en dos grupos G(F) y G(Q F) G de P (|G| > 1) obtener nueva Pn de modo que: qi, qj Gi a / f(qi, a), f(qj, a) Gi sustituir G en Pn por el nuevo conjunto de subgrupossi Pn= P entonces Pfinal := P e ir a (4) sino P := Pn e ir a (2)Finalmenteelegir en cada grupo un qi como representante del grupoeliminar estados pasivos (sumideros no finales)

34Minimizacin de autmatasAFD reconoce L = (a|b)*abbUTN - FRM: Fundamentos de sintaxis y semntica35P1:= G1{Q5} + G2{Q1,Q2,Q3,Q4}P := {Q5} y (Q1, Q2, Q3) x b G2 y Q4 x b G1P2 := G1{Q5} + G2{Q1, Q2, Q3} + G3{Q}si Pn P entonces P := Pn y repite el procesoP := {Q5} + {Q4} y {Q1, Q3} x b G2 y Q2 x b G3P3 := G1{Q5} + G2{Q4} + G3{Q1, Q3} + G4{Q2}Luego P := Pn, pero Pn = P entonces Pfinal := P y se elige Q1 representa G3Q1aQ2aQ2bQ4bQ5Q1aQ2aQ2bQ4aQ2bQ4bQ5Otro enfoque

Por qu en G3 no se separ Q1 si tiene un arco con a que sale hacia G2?Porque tanto Q1 como Q3 tienen transiciones con a hacia G2, luego forman un misma particin de equivalenciaQ1aQ2bQ4bQ5aQ2bQ4bQ5Mtodo35Autmatas de pilaUTN - FRM: Fundamentos de sintaxis y semntica36AP = ( , , Q, a0, q0, F, f ) : alfabeto de entrada: alfabeto de pila q0: estado inicialQ: conjunto de estados F: estados finalesa0: smbolo inicial pila f: Q (S {}) Q Para cada gramtica G independiente del contexto, existe un autmata de pila M tal que L(G)=L(M)Los smbolos en la pila se ordenan en sentido cima base (convencin)Transicin (x, h / w) donde: x = estado actualh = smbolo ledo de la cima de la pilaw = smbolo escrito en la pila

qx, h /w36Descripcin de autmatas de pilaDescripcin funcional Descripcin tabular

UTN - FRM: Fundamentos de sintaxis y semntica37EstadoEntradaPilaTransicinq0e1,$q1e2,q10e1,#q2$e3,q21#e2,f(q0 x x ) q1 x $ f( q1 x x ) q2 x f( q1 x 0 x ) q1 x #f( q2 x x $) q3 x f( q2 x 1 x #) q2 x q0q2q1q3, $0, #, 1, # , $ 37Formas de reconocimientoReconocimiento por vaciado de pilaLvp(M)= {w * / (q0, w, a0) (p, , ), p Q}Reconocimiento por alcanzar el estado finalLef(M)={w */ (q0, w, a0) (p, , h), p F, h *}Lvp y Lef reconocidos pueden ser diferentesUTN - FRM: Fundamentos de sintaxis y semntica38

38

?Autmatas de pila deterministaEs determinista si cumple(q Q A ) si |f(q, , A)|>0 a , f(q, a, A)=(q Q A a {} ), |f(q, a, A)| 0 }

AP G2UTN - FRM: Fundamentos de sintaxis y semntica3939Autmatas de pila y gramticasUTN - FRM: Fundamentos de sintaxis y semntica40Gramtica libre de contextoT = {a, b}N = {S}P = { S -> aSb| }L1 = {anbn / n > 0}

Autmata de Pila: {a, b}q0: e0 : {#, $, a}F: {e3}Q: {e0,e1,e2,e3}a0: $e0e2e1e3, $ $a, ab, a b, a , $ $Ejemplo40Autmatas de pila y gramticasRepresentar G2 con APSi AP ( , , Q, a0, q0, F, f ) entonces construir APND=(, N, {q}, S, q, fi, f)El reconocimiento es por vaciado de pilasi Aw P entonces (q, w) f(q, , A)si a entonces (q, ) f(q, a, a)Sea P = { S0S1, Sc } entoncesf(q, , A)= {(q, 0S1), (q, c)}f(q, 0, 0)= f(q,1,1)= f(q, c, c)= {(q, )}UTN - FRM: Fundamentos de sintaxis y semntica4141

Algoritmo para convertir G2 en APGramtica G2t = {a, b, z}n = {S, M, N}, S, P)SzMNzMaMaMzNbNbNz

UTN - FRM: Fundamentos de sintaxis y semntica42Autmata de pila = {a, b, z} = {a, b, z, S, M, N, #}Q = {i, p, q, fi}a0 = #q0 = iF = fiEjemploDefinir1) con t 2) con t + n + #3) Q como i, p, q y fiAgregar transiciones4) (i, , ; p, #)5) (p, , ; q, S) 6) (q, ,N; q,w) n7) (q, x, x; q, ) t 8) (q, , #; fi, )42Autmatas Linealmente AcotadosALA= (Q, , , , e0, b, F) donde b = blancolongitudcinta = longitudcadena

Q: conjunto finito estados : alfabeto de entrada; (input) : {b} otros smbolos, b (output): Q x Q x x {D, I, N}e0: estado inicial QF: estados finales Q

UTN - FRM: Fundamentos de sintaxis y semntica43cintaControlestados43Mquinas de TuringAP = (, , b, Q, q0, F, f): alfabeto de entrada c: alfabeto de la cintab: blanco c, eQ: conjunto de estadosq0: estado inicial QF: estados finales Qf: Q x c Q x c x {I, D, P}

UTN - FRM: Fundamentos de sintaxis y semntica44cintaControlestados44Mquinas de Turing

UTN - FRM: Fundamentos de sintaxis y semntica45

ConcatenadorDuplicador45Lenguajes, gramticas y autmatasUTN - FRM: Fundamentos de sintaxis y semntica4646UTN - FRM: Fundamentos de sintaxis y semntica47Mquinas y Lenguajes47Anlisis lxicoScannerRecibir caracteres de entradaAgruparlos segn la G3 para reconocer lexemas y generar tokensDetectar algunos significados y errores identificar los tokens y evaluarlosIntroducir informacin adicional descriptivaEliminar separadores innecesarios Sustituir macrosUTN - FRM: Fundamentos de sintaxis y semntica4848Anlisis lxicoUTN - FRM: Fundamentos de sintaxis y semntica49

49Anlisis lxicoUTN - FRM: Fundamentos de sintaxis y semntica50

Tokensidentifierequal_signint_literalmult_opidentifierplus_opint_literalsemicolonLexemasindex=2*count+17;Enunciado

index = 2 * count + 1750Anlisis sintcticoParserRecibir tokens suministrados por el scannerAgrupar tokensde acuerdo a producciones especificadas por la G2 para reconocer frasesdeterminar si son sintcticamente correctasestablecer la estructura subyacenteDetectar errores sintcticosGenerar rboles sintcticosUTN - FRM: Fundamentos de sintaxis y semntica5151

Anlisis sintcticoUTN - FRM: Fundamentos de sintaxis y semntica52Proceso de anlisis Analizador lxicoAnalizador sintcticoTokenizadoReglas de produccinrbol 52Anlisis sintcticoUTN - FRM: Fundamentos de sintaxis y semntica53rboles de sintaxisConcreta: sirve para el anlisis sintcticoAbstracta: sirve para el anlisis semnticoSea: S if expr then A endif ;

ConcretaAbstracta (AST)

53Anlisis sintcticoAnalizadores recursivoscada no-terminal tiene asociada una rutina de anlisis, creada a partir de las reglas gramaticalesscan de izquierda a derechaEstrategias de anlisisDESCENDENTE(Top-Down)construye el rbol desde la raz (S) hacia las hojasproblemas con recursividad a izquierdaASCENDENTE(Bottom-Up)construye el rbol desde las hojas hacia la raz (S)se basa en encontrar una derivacin por la derechaUTN - FRM: Fundamentos de sintaxis y semntica5454Analizador por izquierda (a)UTN - FRM: Fundamentos de sintaxis y semntica55Sea la gramtica G = (N, T, S, P) conN = {A, S}, T = {a, b, c},P = {S aAc, A Ab | }L = {a bn c / n > 0}. Se quiere reconocer: abbc

55Analizador por izquierda (b)UTN - FRM: Fundamentos de sintaxis y semntica56Sea la gramtica G = (N, T, S, P) conN = {A, S}, T = {a, b, c},P = {S aAc, A | Ab}L = {a bn c / n>=0}. Se quiere reconocer: abbcOK

56Analizador top-downRecursividad por izquierdaNo puede procesarlaSe debe eliminarRecursividad por izquierda inmediataA A | Eliminacin de recursividad por izquierdaSe trabaja con el trmino (que no es RI)A BB B | UTN - FRM: Fundamentos de sintaxis y semntica5757Eliminacin recursividad izquierdaSea por ejemplo el siguiente casoS Aa | bA Ac | Sd | fReemplazar: A Sd por A Aad | bdQueda: A Ac | Aad | bd | fEliminar recursividad inmediata:A bdB | fBB cB | adB | Finalmente:S Aa | bA bdB | fBB cB | adB | UTN - FRM: Fundamentos de sintaxis y semntica5858

Problema del retrocesoSea: G = (N, T, S, P) donde N = {, , }T = {module, d, p, ;, end} S = El conjunto P de reglas de produccin es: ::= module ; end ::= d | d; ::= p | p; Anlisis aplicando derivaciones Leftmost: module d ; d ; p ; p end

UTN - FRM: Fundamentos de sintaxis y semntica59

_

59Gramticas LL(k) y analizadoresCaractersticas de los analizadores LLPermiten el anlisis descendente sin retroceso, usando un subconjunto de las G2

L = reconocimiento de la cadena de entrada de izquierda a derecha L = toman las derivaciones ms hacia la izquierda ("Leftmost") con slo mirar los k tokens situados a continuacin de donde se hallasi k=1 se habla de gramticas LL(1)

Posibilitan la construccin de analizadores deterministas descendentes (slo examinan el smbolo actual de la cadena de entrada, para saber que produccin aplicar)

UTN - FRM: Fundamentos de sintaxis y semntica6060Gramticas LR(k) y analizadoresCaractersticas de los analizadores LR Eficiente anlisis ascendente sin retrocesoDetectan errores sintcticos rpidamenteL = lee entrada Left-to-rightR = aplican derivaciones Rightmost en sentido inverso k = nmero de smbolos de entrada por delante (lookaheads) que lee el analizador (gramtica LR(k))Pueden construirse para la mayora de las G2Complicados de construir

UTN - FRM: Fundamentos de sintaxis y semntica6161Analizadores LL y LRSeanProduccin: EE+E|E*E|(E)|-E|idEnunciado: id+id*idDerivaciones por izquierda o por derecha?

UTN - FRM: Fundamentos de sintaxis y semntica62

62Analizador ascendenteUTN - FRM: Fundamentos de sintaxis y semntica63Pilarbol EntradaRegla

63UTN - FRM: Fundamentos de sintaxis y semntica64Semntica deLenguajes64UTN - FRM: Fundamentos de sintaxis y semntica65sup = alto*ancho;Fases de anlisisanlisis lxico(id,sup)(asignador)(id,alto)(opMult)(id,ancho)(separador)anlisis sintctico(asignador)

(id,sup) (opMult)

(id,alto) (id,ancho)anlisis semnticoMtodos informales y formales65SemnticasLa sintaxis es insuficiente para describir lenguajesint A;lxica y sintcticamente correcto pero qu significa?

Utilidad de las semnticasDefinir qu deben hacer los enunciados de un lenguajeImplementar correctamente el lenguajeDesarrollar tcnicas y herramientas deAnlisis y optimizacin, depuracin, verificacin, etc.Ayudar a razonar sobre el funcionamiento de los programas (recursos usados, correccin, )

UTN - FRM: Fundamentos de sintaxis y semntica6666Semntica estticaSe calcula en tiempo de compilacinEjemplos de aspectos que controlaCorrespondencia de la signatura de funcionesAccesos a variables consistentes con su declaracinQue identificadores y expresiones sean evaluablesQue el Left-side sea asignableCompatibilidad de expresiones y operadoresAccesibilidad de las variables segn su alcanceUso de identificadores nicosUTN - FRM: Fundamentos de sintaxis y semntica6767Semntica dinmicaCiertos significados se detectan en la ejecucinPunteros con referencias nulasValores lmites de subndices de arreglosConsistencia en el pasaje de argumentosOtros: x := z / ysi y == 0?Errores de lgica que cambian la semntica de un enunciado, NO SON DETECTABLESx := z / y si lo que se quera escribir era x := z * yEjemplo de semntica dinmica en JSSi z = 45;entoncesz + 5 = 455Si z = 45;entonces z + 5 = 50UTN - FRM: Fundamentos de sintaxis y semntica6868Especificacin de la semnticaEs deseable satisfacer caractersticas como:No ambigedad: facilitar la creacin de descripciones rigurosasDemostracin: permitir la posterior demostracin de propiedades de los programas escritos en el lenguaje especificadoPrototipado: posibilitar obtener prototipos ejecutables de los lenguajes que se disean de forma automticaModularidad: realizar la especificacin de forma incrementalReusabilidad: facilitar la reutilizacin de descripciones para diferentes lenguajesLegibilidad: ser legibles por personas con formaciones heterogneasFlexibilidad: adaptarse a la variedad de lenguajes existentesExperiencia: ser capaz de describir lenguajes reales, no slo quellos sencillos o experimentalesUTN - FRM: Fundamentos de sintaxis y semntica6969Tcnicas de especificacin semnticaUTN - FRM: Fundamentos de sintaxis y semntica70SemnticaNo ambiguaModularreusabledemostrarprototiparlegibleflexibeexperienciaLenguaje naturalSSRSSOperacionalSRRRSSDenotacionalSSRSRAxiomticaRSRSAlgebricaSRSSRRRDe estado abstactoSSRRSRSDe accinSSRRSRRMondica modularSSSRSMondica reutilizableSSSSSS70