------------------------------------------------------------- ------------------- -- -- -- OCARINA COMPONENTS -- -- -- -- G A I A . P N . G E N E R A T O R -- -- -- -- B o d y -- -- -- -- Copyright (C) 2006-2007, GET-Telecom Paris. -- -- -- -- Ocarina is free software; you can redistribute it and/or modify -- -- it under terms of the GNU General Public License as published by the -- -- Free Software Foundation; either version 2, or (at your option) any -- -- later version. Ocarina is distributed in the hope that it will be -- -- useful, but WITHOUT ANY WARRANTY; without even the implied warranty of -- -- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General -- -- Public License for more details. You should have received a copy of the -- -- GNU General Public License distributed with Ocarina; see file COPYING. -- -- If not, write to the Free Software Foundation, 51 Franklin Street, Fifth -- -- Floor, Boston, MA 02111-1301, USA. -- -- -- -- As a special exception, if other files instantiate generics from this -- -- unit, or you link this unit with other files to produce an executable, -- -- this unit does not by itself cause the resulting executable to be -- -- covered by the GNU General Public License. This exception does not -- -- however invalidate any other reasons why the executable file might be -- -- covered by the GNU Public License. -- -- -- -- Ocarina is maintained by the Ocarina team -- -- (ocarina-users@listes.enst.fr) -- -- -- ------------------------------------------------------------------------------ with Gaia.Generator; with Gaia.Translator; with Gaia.Pn.Printer; with Gaia.Pn; with Gaia.Pn.Nodes; with Ocarina.Debug; package body Gaia.Pn.Generator is package GPP renames Gaia.Pn.Printer; package GP renames Gaia.Pn; use Ocarina.Debug; -------------- -- Generate -- -------------- procedure Generate (Distributed_Application_Root : Types.Node_Id; Options : Gaia.Mgmt.Gaia_Options; Success : out Boolean) is use Types; Root_Node : Node_Id; begin Success := True; -- Generating PN tree W_Line ("Generating PN tree"); Root_Node := GP.Process_Distributed_Application (Distributed_Application_Root, Options); W_Line ("Done"); -- Generating Petriscript code W_Line ("Generating Petriscript code"); GPP.Print_Root_Node (Root_Node, Options); W_Line ("Done"); end Generate; --------------- -- Translate -- --------------- procedure Translate (Distributed_Application_Root : Types.Node_Id; Options : Gaia.Mgmt.Gaia_Options; Success : out Boolean) is pragma Unreferenced (Distributed_Application_Root, Options); begin Success := True; end Translate; ---------- -- Init -- ---------- procedure Init is begin Gaia.Translator.Register_Translator ("ps", Translate'Access); Gaia.Generator.Register_Generator ("ps", Generate'Access); end Init; ----------- -- Reset -- ----------- procedure Reset is begin Gaia.Pn.Nodes.Entries.Init; end Reset; end Gaia.Pn.Generator;