------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- This source file was automatically generated by Platypus -- see http://dossen.univ-brest.fr/apl -- -- Any modification of this file will be lost. -- Please see the "platypus" directory instead : it contains the Cheddar's -- model and its meta-model. ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- Cheddar is a free real time scheduling tool. -- This program provides services to automatically check temporal constraints -- of real time tasks. -- -- Copyright (C) 2002-2014 Frank Singhoff -- Cheddar is developed by the LAB-STICC Team, University of Brest -- -- This program is free software; you can redistribute it and/or modify -- it under the terms of the GNU General Public License as published by -- the Free Software Foundation; either version 2 of the License, or -- (at your option) any later version. -- -- This program 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 -- along with this program; if not, write to the Free Software -- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -- -- -- Contact : cheddar@listes.univ-brest.fr -- To post to this mailing list, you must be subscribed -- (see http//beru.univ-brest.fr/~singhoff/cheddar for details) -- ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Ada.Strings.Unbounded; use Ada.Strings.Unbounded; with Framework_Config; use Framework_Config; with id_generators; use id_generators; with Objects; use Objects; with CFG_Nodes; use CFG_Nodes; with standards_io; use standards_io; use standards_io.natural_io; with Ada.Finalization; with unbounded_strings; use unbounded_strings; use unbounded_strings.unbounded_string_list_package; with Unchecked_Deallocation; with primitive_xml_strings; use primitive_xml_strings; with tables; package basic_blocks is type basic_block; type basic_block_ptr is access all basic_block'class; -- --------= Basic_Block =-------- type basic_block is new cfg_node with record instruction_offset : Natural; instruction_capacity : Natural; data_offset : Natural; data_capacity : Natural; loop_bound : Natural; end record; procedure initialize (obj : in out basic_block); procedure put (obj : in basic_block); procedure put (obj : in basic_block_ptr); procedure put_name (obj : in basic_block_ptr); procedure build_attributes_xml_string (obj : in basic_block; result : in out Unbounded_String); function xml_string (obj : in basic_block) return Unbounded_String; function xml_string (obj : in basic_block_ptr) return Unbounded_String; function xml_ref_string (obj : in basic_block) return Unbounded_String; function xml_ref_string (obj : in basic_block_ptr) return Unbounded_String; function get_name (obj : in basic_block) return Unbounded_String; function get_name (obj : in basic_block_ptr) return Unbounded_String; function copy (obj : in basic_block_ptr) return basic_block_ptr; function copy (obj : in basic_block) return basic_block_ptr; function type_of (obj : in basic_block) return unbounded_string_list; function type_of (obj : in basic_block_ptr) return unbounded_string_list; procedure free is new Unchecked_Deallocation (basic_block'class, basic_block_ptr); package basic_blocks_table_package is new tables (basic_block_ptr, Framework_Config.Max_CFG_Nodes, put, xml_string, xml_ref_string); use basic_blocks_table_package; subtype basic_blocks_range is basic_blocks_table_package.table_range; subtype basic_blocks_range_ptr is basic_blocks_table_package.table_range_ptr; subtype basic_blocks_table is basic_blocks_table_package.table; subtype basic_blocks_table_ptr is basic_blocks_table_package.table_ptr; end basic_blocks;