00001 00002 #ifndef IIR_BLOCK_STATEMENT_HH 00003 #define IIR_BLOCK_STATEMENT_HH 00004 00005 // Copyright (c) 1996-1999 The University of Cincinnati. 00006 // All rights reserved. 00007 00008 // UC MAKES NO REPRESENTATIONS OR WARRANTIES ABOUT THE SUITABILITY OF 00009 // THE SOFTWARE, EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED 00010 // TO THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS FOR A 00011 // PARTICULAR PURPOSE, OR NON-INFRINGEMENT. UC SHALL NOT BE LIABLE 00012 // FOR ANY DAMAGES SUFFERED BY LICENSEE AS A RESULT OF USING, 00013 // RESULT OF USING, MODIFYING OR DISTRIBUTING THIS SOFTWARE OR ITS 00014 // DERIVATIVES. 00015 00016 // By using or copying this Software, Licensee agrees to abide by the 00017 // intellectual property laws, and all other applicable laws of the 00018 // U.S., and the terms of this license. 00019 00020 00021 // You may modify, distribute, and use the software contained in this package 00022 // under the terms of the "GNU LIBRARY GENERAL PUBLIC LICENSE" version 2, 00023 // June 1991. A copy of this license agreement can be found in the file 00024 // "LGPL", distributed with this archive. 00025 00026 // Authors: Philip A. Wilsey phil.wilsey@uc.edu 00027 // Dale E. Martin dmartin@cliftonlabs.com 00028 00029 //--------------------------------------------------------------------------- 00030 00031 #include "IIR_ConcurrentStatement.hh" 00032 00033 class IIR_ArchitectureStatementList; 00034 class IIR_AssociationList; 00035 class IIR_DeclarationList; 00036 class IIR_GenericList; 00037 class IIR_PortList; 00038 class IIR_SignalDeclaration; 00039 00040 class IIR_BlockStatement : public virtual IIR_ConcurrentStatement{ 00041 00042 public: 00043 virtual ~IIR_BlockStatement() {} 00044 00045 // List accessor(s) 00046 virtual IIR_GenericList *get_generic_clause() = 0; 00047 virtual IIR_AssociationList *get_generic_map_aspect() = 0; 00048 virtual IIR_PortList *get_port_clause() = 0; 00049 virtual IIR_AssociationList *get_port_map_aspect() = 0; 00050 virtual IIR_DeclarationList *get_block_declarative_part() = 0; 00051 virtual IIR_ArchitectureStatementList *get_block_statement_part() = 0; 00052 virtual void set_generic_clause(IIR_GenericList *) = 0; 00053 virtual void set_generic_map_aspect(IIR_AssociationList *) = 0; 00054 virtual void set_port_clause(IIR_PortList *) = 0; 00055 virtual void set_port_map_aspect(IIR_AssociationList *) = 0; 00056 virtual void set_block_declarative_part(IIR_DeclarationList *) = 0; 00057 virtual void set_block_statement_part(IIR_ArchitectureStatementList *) = 0; 00058 00059 virtual void set_guard_expression( IIR *guard_expression ) = 0; 00060 virtual IIR *get_guard_expression() = 0; 00061 00062 virtual IIR_SignalDeclaration *get_implicit_guard_signal( ) = 0; 00063 virtual void set_implicit_guard_signal( IIR_SignalDeclaration * ) = 0; 00064 }; 00065 #endif
1.4.6