next up previous contents
Urmator: Despre acest document ... Deasupra: Modelarea si controlul dialogului Anterior: Un subdialog in DDL

   
Un subdialog in DDL

VAR frame_curent, fara_identif, an, grupa, subgrupa, 
    profesor

(......)

NODE identificare
// declaratia de inceput a nodului

LABEL identificare_input

frame_curent = get_frame ((<identificare> [MANDATORY] 
       (<an> [OPTIONAL]) (<grupa> [OPTIONAL]) (<subgrupa> 
       [OPTIONAL])) (<identificare> [MANDATORY] (<profesor> 
       [MANDATORY])) (<negativ> [MANDATORY] <nu> [MANDATORY]))
//extragere cadru curent

if NULL(frame_curent)
//cadru neidentificabil
        call not_understand
        goto identificare_input
fi

if frame_curent == <identificare>
//cadrul reprezinta o identificare
        fara_identif=0
        if ! NULL(frame_curent.identificare.profesor)
                //utilizatorul este un profesor
                profesor = frame_curent.identificare.profesor   
        else
                //utilizatorul este student
                if ! NULL(frame_curent.identificare.an)
                    an = frame_curent.identificare.an
                if ! NULL(frame_curent.identificare.grupa)
                    grupa = frame_curent.identificare.grupa 
                if ! NULL(frame_curent.identificare.subgrupa)
                    subgrupa = frame_curent.identificare.subgrupa
        fi
else
        if frame_curent == <negativ>
                //utilizatorul nu s-a identificat
                fara_identif=1
        else
                //formulare corecta, dar nepotrivita in context
                call not_understand
                goto identificare_input
        fi
fi

jump cerere_intrebare
//salt la urmatorul nod

(......)




Cosmin Munteanu
2000-09-27