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);