33
Octubre 3, Lunes

Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Octubre3,Lunes

Page 2: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Agendaparaestaclase�  Analizadorsintácticosimple�  SintaxisdelassentenciasdeC�  AmbigüeddelasintaxisdeC

Prof. Esp. Ing. José María Sola 391

Page 3: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Prof. Esp. Ing. José María Sola 392

Page 4: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

�  Basadoenejercicio[K&R1-24]�  EscribaunprogramaqueverifiquesiunprogramaCposeeerroressintácticossimples.Esteprogramaesdificultososiselodiseñarealmentegenérico.Reglasavalidar:�  Paréntesis,corchetesyllaves

desbalanceados�  Apóstrofosycomillas,

secuenciasdeescape�  Comentarios

�  Restricciones�  Resolverconmáquinade

estados�  ¿EsutilizableelmóduloStack

vistoenlacalculadoradenotaciónpolacainversa?

�  Utilizarelsímbolo$paralapilavacío

�  Implementarconswitchygoto�  LeerAutómatadePilade

[MUHC2012V2c2]�  Entrega

�  Definiciónformaldelautómatadepila

�  Diagramadetransciones�  Parser.c�  Stack.h�  Stack.c

AnalizadorSintác3coSimple

Prof. Esp. Ing. José María Sola 393

Page 5: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 6: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

sentencia sentencia-expresión sentencia-compuesta sentencia-de-selección sentencia-de-iteración sentencia-etiquetada sentencia-de-salto

sentencia-expresión

expresión? ;

Sentencia

Page 7: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

sentencia-compuesta { lista-de-declaraciones? lista-de-sentencias? }

lista-de-declaraciones

declaración lista-de-declaraciones declaración

lista-de-sentencias

sentencia lista-de-sentencias sentencia

Sentenciacompuesta(¿C11?)

Page 8: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

sentencia-de-selección if ( expresión ) sentencia if ( expresión ) sentencia else sentencia switch ( expresión ) sentencia

Sentenciadeselección

Page 9: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

sentencia-de-iteración while ( expresión ) sentencia do sentencia while ( expresión ) ; for ( expresión? ; expresión? ; expresión? ) sentencia

Sentenciadeiteración(¿C11?)

Page 10: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

sentencia-etiquetada case expresión-constante : sentencia default : sentencia identificador : sentencia sentencia-de-salto continue ; break ; return expresión? ; goto identificador ;

Sentenciae3quetadaydesalto

Page 11: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 12: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

EjerciciodeS&S:Sentenciaif

Prof. Esp. Ing. José María Sola 401

Page 13: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

if ( a ) f(); if ( b ); g(); else h();

�  S&S�  Sintaxis�  Restriccionesparaquetengasemántica

�  Semántica� Dosejemplos

EjerciciodeS&S:Sentenciaif(cont.)

Page 14: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

if ( a ) if( b ) g(); else h();

�  Sintaxisconcreta�  EspecíficadeunLP�  Tokens�  Forma�  DerivaciónsegúnBNF

�  Sintaxisabstracta�  General�  Conceptual�  Necesariaparaelanálisissemántico

�  Árbolesdesintaxisconcretayabstractadelsiguientecódigo

SintaxisConcretayAbstracta

Page 15: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

if ( a ) if( b ) g(); else h(); if ( a ) { if( b ) g(); } else h();

� Dosderivacionesposibles

� Dossemánticasposibles

� Ambigüedad�  ¿Solución?� CorreccióndelaS&Sdelasentenciaif

� Pragmática

¿Conclusión?

Page 16: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

EjerciciodeS&S:Sentenciaif–Resoluciónfinal

Prof. Esp. Ing. José María Sola 405

Page 17: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Términosdelaclase#DefinircadatérminoconlabibliograNa

� ParteI�  Alfabetodepila

� ParteII�  Sentencia�  Sentenciacompuesta

� ParteIII�  Ambigüedad

21

Prof. Esp. Ing. José María Sola 406

Page 18: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Tareasparalapróximaclase1.  Leerde[K&R1988]Sentencias.

Prof. Esp. Ing. José María Sola 407

Page 19: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 20: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 21: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Octubre17,Lunes

Page 22: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Agendaparaestaclase�  ExamenDiagnóstico�  CasoRealdeExpresiones

Prof. Esp. Ing. José María Sola 411

Page 23: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 24: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

�  Analizarinvocación�  Analizardefinición

�  Analizarexpresióndelprimerreturn�  Precedencia�  OrdendeEvaluación�  Efectodelado�  Árboldeexpresiones.

�  Proponerporlomenosdosresoluciones�  Identificarlacausaraízdelproblema.

CasoReal:AnalizarError

Prof. Esp. Ing. José María Sola 413

asignarStringFix(str, leng); //invocación

private static String asignarString(String stringComp, int longitud){try{

if (stringComp != null )return stringComp.trim().substring(0, Math.min(stringComp.length(), longitud)).toUpperCase();

elsereturn "";

}catch(Exception e){LoggerUtils.logOpMsg(log, Level.ERROR, e.getMessage());

}return "";

}

Page 25: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Términosdelaclase#DefinircadatérminoconlabibliograNa

� ParteII�  Java�  Funciónmiembro�  Paquete�  Try�  Catch

22

Prof. Esp. Ing. José María Sola 414

Page 26: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 27: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 28: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Octubre24,Lunes

Page 29: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la

Prof. Esp. Ing. José María Sola 420

Page 30: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 31: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 32: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la
Page 33: Octubre 3, Lunes 2016 K2051 Cla… · Apóstrofos y comillas, secuencias de escape ... Dos derivaciones posibles Dos semánticas posibles Ambigüedad ¿Solución? Corrección de la