esquema practica so

Upload: jorge-ortega-morata

Post on 14-Feb-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Esquema Practica So

    1/2

    Sobre la practica croff.c:

    El programa lee de la entrada hasta que no se le pasa un fin de fichero. Una

    vez que se le pasa, debe ver opciones de marcado. Si hay texto no se impone

    ningna restriccin as que se obvia.Las etiquetas de marcado son Xpipe, Xif, Xerr y Xout.

    Xpipe comando

    linea

    linea

    linea

    Xendpipe

    en este caso se ejecuta el comando y las lneas entre las marcas se substituyen por

    la salida de este comando.

    Xif comando

    lineas

    lineas

    lineas

    Xendif

    solo se escriben las lneas entre las marcas si el comando tiene xito.

    Xout comando. se substituye por la salida del comando.

    xerr comando se substituye por la salida de error del comando.

    ademas si en el texto se incluyen palabras con $palabra se deber sustituir la

    palabra por la variable de entorno.

    La manera de proceder es leer lnea por lnea y en el momento que se detecte una

    marca, partir el problema, es decir, si se detecta la marca Xif por ejemplo, se ejecuta

    el comando y si tiene xito entonces se van leyendo lneas (una a una, e

    imprimindolas por la salida estandar hasta dar con la de Xendif. (que tambin se

    lee pero no se escribe). Despus continuamos con el bucle principal. buscando el fin

    de fichero o marcas de otro tipo. Las marcas deben estar aisladas unas de otras.

  • 7/23/2019 Esquema Practica So

    2/2

    Primero creo un pipeto que me devuelve la entrada al pile y la salida sea la entrada

    estndar del hijo y cuando ejecute el hijo no tiene nada mas que ir leyendo lneas de

    la entrada e ir imprimindolas por la salida.

    Cada vez que leo una linea por la entrada la proceso. Esto es: si es una marca leo el

    comando, creo un hijo que lo ejecute y dependiendo de la marca se procede deforma distinta. Cada vez que proceso una linea la escribo por la entrada del pipe.

    Comprobar si los comandos son pipermines: Pues primero debe de ser una marca.

    Luego busco en funcin de | (la linea no la tokenizada). y compruebo que se pueda

    hacer si no, ya se ver. Despus: el pipeline depender su entrada de la marca. Si

    es Xpipe, la entrada corresponder a las lneas entre las marcas y por tanto tendr

    que ir leyndolas y enchufandoselas al pipe que cree, al mismo tiempo debo ir

    apuntando el numero de lineas que hay para luego imprimir la salida del comando

    tantas veces como lneas (esto es: escribir en el pipe principal).