------------------------------------------------------------------------------ ------------------------------------------------------------------------------ -- Cheddar is a GNU GPL real-time scheduling analysis tool. -- This program provides services to automatically check schedulability and -- other performance criteria of real-time architecture models. -- -- Copyright (C) 2002-2020, Frank Singhoff, Alain Plantec, Jerome Legrand, -- Hai Nam Tran, Stephane Rubini -- -- The Cheddar project was started in 2002 by -- Frank Singhoff, Lab-STICC UMR CNRS 6285, Universite de Bretagne Occidentale -- -- Cheddar has been published in the "Agence de Protection des Programmes/France" in 2008. -- Since 2008, Ellidiss technologies also contributes to the development of -- Cheddar and provides industrial support. -- -- The full list of contributors and sponsors can be found in AUTHORS.txt and SPONSORS.txt -- -- 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 -- ------------------------------------------------------------------------------ -- Last update : -- $Rev$ -- $Date$ -- $Author: singhoff $ ------------------------------------------------------------------------------ ------------------------------------------------------------------------------ with Ada.strings.unbounded; use Ada.strings.unbounded; with Ada.numerics.aux; use Ada.numerics.aux; with Statements; use Statements; with Interpreter; use Interpreter; use Interpreter.sets_Type_Package; with Expressions; use Expressions; use Expressions.variables_Type_Package; with Simulations; use Simulations; with Section_Set; use Section_Set; use Section_Set.package_Generic_Section_Set; with Sections; use Sections; with Automaton; use Automaton; with Automaton.extended; use Automaton.extended; use Automaton.state_Lists_Package; use Automaton.transition_Lists_Package; package Scheduler_Tokens is type Key_Type is (Cval, Ival, Noval); type Yystype is record String_Value : Unbounded_String; Integer_Value : Integer; Double_Value : Double; Expression : Generic_Expression_Ptr; Statement : Generic_Statement_Ptr; Variable_Type_Value : Simulation_Type; Table_Type_Value : Table_Types; State : State_Ptr; Transition : Transition_Ptr; Synchronization : Synchronization_Ptr; end record; YYLVal, YYVal : YYSType; type Token is (End_Of_Input, Error, Double_Type_Token, Array_Token, Integer_Type_Token, Task_Token, String_Type_Token, Clock_Type_Token, Boolean_Type_Token, Of_Token, Last_Token, First_Token, Double_Token, Integer_Token, Identifier_Token, True_Token, False_Token, String_Token, In_Token, For_Token, Is_Token, Function_Token, Procedure_Token, Set_Token, While_Token, Loop_Token, Message_Token, Processor_Token, Buffer_Token, Resource_Token, Time_Unit_Token, Tasks_Range_Token, Messages_Range_Token, Processors_Range_Token, Buffers_Range_Token, Resources_Range_Token, Time_Units_Range_Token, Return_Token, Max_Token, Min_Token, Lcm_Token, Put_Token, Mod_Token, Abs_Token, Max_To_Index_Token, Min_To_Index_Token, Then_Token, End_Token, Else_Token, If_Token, End_If_Token, End_Loop_Token, Random_Type_Token, Uniform_Token, Exponential_Token, Laplace_Gauss_Token, Get_Task_Index_Token, Get_Buffer_Index_Token, Get_Message_Index_Token, Get_Resource_Index_Token, Exit_Token, State_Token, Initial_State_Token, End_Section_Token, Automaton_Token, Gather_Event_Analyzer_Token, Display_Event_Analyzer_Token, Start_Token, Priority_Token, Election_Token, Activation_Token, Check_Resource_Token, Release_Resource_Token, Allocate_Resource_Token, Transition_Token, Transition_Arrow_Token, '?', '!', Delay_Token, '[', ']', '(', ')', '}', '{', Equal_Token, '+', '-', '*', '/', Unary_Minus, Unary_Plus, Exp_Token, ':', '|', ';', ',', Inf_Token, Sup_Token, Inf_Equal_Token, Sup_Equal_Token, Not_Equal_Token, Assign_Token, Concat_Token, Or_Token, And_Token, Not_Token, ''' ); Syntax_Error : exception; end Scheduler_Tokens;