Especificação NYAGSL do Controlador de Diálogo para o Dicionário



next up previous contents
Next: Especificação NYAGSL do Up: GAMA-X Geração Semi-Automática Previous: Especificação do Modelo

Especificação NYAGSL do Controlador de Diálogo para o Dicionário

 
FUNC init((cd)):(cd)
STATE
let(pnd1 = SeqDescr(EvId(NIL, "pal"), 
                    EvId(NIL, "sig")
                   ), 
    codexec1 = ExecDescr("INSPAL", <"pal", "sig">),
    trans11 = TransDescr(And(Ne("pal", StrExp("")),
                             Not(FunCall("EXISTPAL", "", <"pal">))
                            ), 
                         <>, 
                         <ExcepDescr(Eq("pal", StrExp("")),
                                     <Out("Palavra nula!")>
                                    ),
                          ExcepDescr(Ne("pal", StrExp("")),
                                     <Out("Erro!")>
                                    )
                         >
                        ),
    gi1 = SYNTH({"GInsPal"}, NIL, {}, {}, 
                ["pal"->VarUI("Pal"),
                 "sig"->VarUI("Sig")
                ], 
                true, 
                <Atrib("pal", ""), Atrib("sig", "")>, pnd1, 
                [EvId(NIL, "pal") -> trans11,
                 CmdId("$Cancel") -> TransDescr(true, <>, <>),
                 CmdId("$OK") -> TransDescr(true, <>, <>),
                ], codexec1),
    pnd2 = EvId(NIL, "pal"), 
    codexec2 = ExecDescr("REMPAL", <"pal">),
    trans21 = TransDescr(FunCall("EXISTPAL", "", <"pal">), 
                         <Atrib("sig", FunCall("CONSPAL", "", <"pal">))>, 
                         <ExcepDescr(true,
                                     <Out("Erro!")>
                                    )
                         >
                        ),
    gi2 = SYNTH({"GRemPal"}, NIL, {}, {}, 
                ["pal"->VarUI("Pal"),
                 "sig"->VarUI("Sig")
                ], 
                Not(FunCall("EMPTYDIC", "", <>)), 
                <Atrib("pal", ""), Atrib("sig", "")>, pnd2, 
                [EvId(NIL, "pal") -> trans21,
                 CmdId("$Cancel") -> TransDescr(true, <>, <>),
                 CmdId("$OK") -> TransDescr(true, <>, <>),
                ], codexec2),
    gi3 = SYNTH({"ViewConsPal"}, NIL, {}, {"DoConsPal"}, 
                ["sig"->VarUI("Sig")
                ], 
                Not(FunCall("EMPTYDIC", "", <>)), 
                <Atrib("sig", "")>, 
                EvId("DoConsPal", "sig"), 
                [EvId(NIL, "pal") -> TransDescr(true, <>, <>),
                 CmdId("$OK") -> TransDescr(true, <>, <>),
                ], NIL),
    pnd4 = EvId(NIL, "pal"), 
    codexec4 = ExecDescr("CONSPAL", <"pal">),
    gi4 = VALSYNTH({"DoConsPal"}, "Sig", {}, {}, 
                   ["pal"->VarUI("Pal")
                   ], 
                   true, 
                  <Atrib("pal", "")>, pnd2, 
                  [EvId(NIL, "pal") -> trans21], codexec4),
    pnd5 = OpcDescr(EvId("Fim", NIL), 
                    RepDescr(OpcDescr(EvId("GRemPal", NIL),
                                      OpcDescr(EvId("GInsPal", NIL),
                                               OpcDescr(EvId("GInit", NIL),
                                                        EvId("ViewConsPal", NIL)
                                                       )
                                              )
                                     )
                            )
                   ), 
    gi5 = DECISION({"Menu"}, NIL, {}, {"Fim"}, 
                   [], 
                   true, 
                   <>, pnd5, 
                   [], NIL),
    gi6 = DECISION({"Fim"}, NIL, {}, {"Fim"}, 
                   [], 
                   true, 
                   <>, NIL, 
                   [], NIL),
    gi7 = SYNTH({"GInit"}, NIL, {}, {"Fim"}, 
                [], 
                true, 
                <>, NIL, 
                [], ExecDescr("INIT", <>)),    c1 = channel("lxst"),
    c2 = channel("stsm"),
    c3 = channel("stlx"),
    c4 = channel("smst")
   )
in cd <- CD(["GInsPal" -> gi1,
             "GRemPal" -> gi2,
             "ViewConsPal" -> gi3,
             "DoConsPal" -> gi4,
             "Menu" -> gi5,
             "Fim" -> gi6,
             "GInit" -> gi7
            ], [], c2, c4, c1, c3);



Jose Franscisco Creissac Campos
Wed Jan 31 20:30:35 MET 1996