sintaxis y semantica de lenguajes2013
DESCRIPTION
sintaxisTRANSCRIPT
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