PROCESADORES DE LENGUAJES EXAMEN PARCIAL 2832006 APELLIDOS NOMBRE

02 PROCESADORES DE TEXTOS NOMBRE FECHA APELLIDOS CURSO 1
06 PROCESADORES DE TEXTO I T ECNORRASCACIELOS ¿EL
2 PROCESADORES DE TEXTO – CEO CEO PÁG 39

COMO SE DEBEN AJUSTAR LAS GANANCIAS AMPLIFICADORES PROCESADORES ETC
FORMULARIO DE REGISTRO FICHA DE INSCRIPCIÓN PARA ESTABLECIMIENTOS PROCESADORES
MEMORIA COMPARTIDA DISTRIBUIDA LOS MULTIPROCESADORES SON DIFÍCILES DE CONSTRUIR

Mostrar el contenido de la tabla de símbolos cuando se alcanza en tiempo de compilación la línea marcada con *, suponiendo a)

<

  • Contenido Entero

  • Contenido Entero , Contenido

  • Vector < Contenido >


    Se desea que el analizador morfológico se haga cargo de las palabras reservadas, los separadores y operadores, las constantes y los identificadores.


    Se pide:


    (a) (1.5 puntos) Marcar las reglas de las que se va a hacer cargo el analizador morfológico.

    (b) (1.5 puntos) Escribir un conjunto de expresiones regulares (puede utilizar la notación flex, en otro caso defina claramente la que va a utilizar) para las siguientes unidades sintácticas:

    (0.25 pto.) a) Palabra reservada

    (0.25 pto.) b) Operador

    (0.25 pto.) c) Separador

    (0.25 pto.) d) Identificador

    (0.25 pto.) e) Vector

    (0.25 pto.) f) Constante

    <

  • Contenido Entero

  • Contenido Entero , Contenido

  • Vector < Contenido >



    2(b)


    int lineno=0;

    int charno=0;


    %}

    %option noyywrap


    DIGITO [01]

    LETRA [aeiou]

    BLANCO [" " | \t]

    SALTO \n

    IDENTIFICADOR ([a-z]|[A-Z])([a-z]|[A-Z]|[0-9])*

    NUMERO {DIGITO}+

    VECTOR "<"{NUMERO}(","{NUMERO})*">"

    CONJUNTO "{"{NUMERO}(","{NUMERO})*"}"

    ERROR [a-zA-Z0-9]+|.


    %%


    begin {printf(" KW %s ", yytext); charno+=yyleng;}

    end {printf(" KW %s ", yytext); charno+=yyleng;}

    "+" {printf(" O%s ", yytext); charno+=yyleng;}

    "-" {printf(" O%s ", yytext); charno+=yyleng;}

    "*" {printf(" O%s ", yytext); charno+=yyleng;}

    "," {printf(" S%s ", yytext); charno+=yyleng;}

    ";" {printf(" S%s ", yytext); charno+=yyleng;}


    {IDENTIFICADOR} {printf(" ID %s ", yytext); charno+=yyleng;}

    {NUMERO} {printf(" NUM %s ", yytext); charno+=yyleng;}

    {VECTOR} {printf(" VECTOR %s ", yytext); charno+=yyleng;}

    {CONJUNTO} {printf(" CONJUNTO %s ", yytext); charno+=yyleng;}

    {BLANCO}+ {charno+=yyleng;}

    {SALTO} {lineno++; charno=0;}

    {ERROR} {printf(" ERROR MORFOLÓGICO: %s ", yytext); charno+=yyleng;}

    %%


    int main()

    {

    yylex();

    }




    3.(a) PROCESADORES DE LENGUAJES  EXAMEN PARCIAL 2832006 APELLIDOS NOMBRE 3(b)



    <num>

    <atom>

    <var>

    ,

    (

    )

    $

    <predlist>

    <pred>

    <term>

    S0


    d3






    1

    10


    S1




    d2



    acc




    S2


    d3







    4


    S3





    d5






    S4




    r2



    r2




    S5

    d6


    d7







    8

    S6






    r4





    S7






    r5





    S8






    d9





    S9




    r3



    r3




    S10




    r1



    r1







    3(c) La gramática es una gramática SLR(1) porque no hay conflictos desplazamiento/reducción o reducción/reducción cuando se utiliza el método SLR(1) de construcción de la tabla de análisis.


    O


    La gramática no es una gramática SLR(1), pero es una gramática LR(0), porque

    no hay filas que contienen desplazamiento y reducción.



    PRACTICAS DE MULTIPROCESADORES PRIMAVERA 2008 PARALELIZACIÓN CON
    PRACTICAS DE MULTIPROCESADORES PRIMAVERA 2007 INTRODUCCIÓN A LA PARALELIZACIÓN
    PROCESADORES DE LENGUAJES EXAMEN PARCIAL 2832006 APELLIDOS NOMBRE


    Tags: procesadores, nombre, 2832006, lenguajes, parcial, examen, apellidos