⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 liftcomponents.c

📁 UML语言构建的电梯管理系统
💻 C
📖 第 1 页 / 共 5 页
字号:

/* Program generated by Cbasic 2.2.20  */
#define XSCT_CBASIC

#define C_TRANSLATOR_2_2
#define XENABLE_VERSION_CHECK

#include "scttypes.h"
#include "U2ExtraOps.h"
#include "U2ctypes.h"
#include "Interfaces.h"
#include "LiftComponents.h"
#ifdef XINCLUDE_HS_FILE
#include "LiftSystem.hs"
#endif
#ifdef XCTRACE
static char  xFileName[] = "LiftComponents.c";
#endif


/*************************************************************************
**                  #CODE directives, #BODY sections                    **
*************************************************************************/

/*************************************************************************
**                  SECTION Variables and Functions                     **
*************************************************************************/

/*****
* PACKAGE LiftComponents
* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#QhMwHE2LcZEL2vKbPI9OUZrE|pos(1,9)")
******/
XCONST struct xPackageIdStruct yPacR_z_LiftComponents__LiftComponents =
  {xPackageEC , (xIdNode)0, (xIdNode)0, (xIdNode)&xSymbolTableIdRec,
  "LiftComponents" xIdNumber(0) XCOMMON_EXTRAS xIdNames(0) XPAC_EXTRAS};

/*****
* NEWTYPE @AK@Reference@ControllerList  (BODY section)
* <<PACKAGE LiftComponents/PROCESS TYPE LiftManager>>
* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#*U4LVLnbk4CLhoifJL3CvCZV|pos(1,17)")
******/
tSDLGenListInfo ySDL_z_LiftComponents_02_AKReferenceControllerList =
  {type_SDL_String, 15,
  (xptrint)sizeof(z_LiftComponents_02_AKReferenceControllerList)
  T_SDL_OPFUNCS(0) T_SDL_EXTRA_VALUE
  T_SDL_Names("@AK@Reference@ControllerList")
  xRaWF((xIdNode)&yPrsR_z_LiftComponents_0_LiftManager)
  xRaWF(&ySrtR_z_LiftComponents_02_AKReferenceControllerList),
  (tSDLTypeInfo *)&ySDL_SDL_PId, (xptrint)sizeof(
  z_LiftComponents_02_AKReferenceControllerList_yrec), xOffsetOf(
  z_LiftComponents_02_AKReferenceControllerList_yrec, Data)};
#ifndef XOPTSORT
XCONST struct xSortIdStruct ySrtR_z_LiftComponents_02_AKReferenceControllerList =
  {xSortEC , (xIdNode)0, (xIdNode)0,
  (xIdNode)&yPrsR_z_LiftComponents_0_LiftManager,
  "@AK@Reference@ControllerList" xIdNumber(0) XCOMMON_EXTRAS xFreF(0)
  xAssF(yAss_z_LiftComponents_02_AKReferenceControllerList)
  xEqF(yEq_z_LiftComponents_02_AKReferenceControllerList) xTestF(0),
  (xptrint)sizeof(z_LiftComponents_02_AKReferenceControllerList), xString,
  &xSrtR_SDL_PId, (xSortIdNode)0, (long int)xOffsetOf(
  z_LiftComponents_02_AKReferenceControllerList_yrec, Data), (long int)sizeof(
  z_LiftComponents_02_AKReferenceControllerList_yrec), 0, 0
  xRaWF((tSDLTypeInfo *)&ySDL_z_LiftComponents_02_AKReferenceControllerList)
  XSRT_EXTRAS};
#endif

/*****
* PROCESS TYPE LiftManager
* <<PACKAGE LiftComponents>>
* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#izLc2IWf8ZDLv*-k-VcmIr*V|pos(1,18)")
******/
#ifdef XCOVERAGE
long int yPrsC_z_LiftComponents_0_LiftManager[ySym_z_LiftComponents_0_LiftManager+1];
#endif
XCONST XSIGTYPE yPrsS_z_LiftComponents_0_LiftManager[] =
  {SIGNAL_NAME(requestLift, &ySigR_z_Interfaces_0_requestLift),
  SIGNAL_NAME(addLift, &ySigR_z_Interfaces_1_addLift), SIGNAL_NAME(serviceTime,
  &ySigR_z_Interfaces_9_serviceTime), (XSIGTYPE)0};
XCONST xStateIdNode yPrsT_z_LiftComponents_0_LiftManager[] =
  {&xStartStateIdRec, &yStaR_z_LiftComponents_03_Idle,
  &yStaR_z_LiftComponents_05_WaitEstimation};
XCONST struct xPrsIdStruct yPrsR_z_LiftComponents_0_LiftManager =
  {xProcessTypeEC , (xIdNode)0, (xIdNode)0,
  (xIdNode)&yPacR_z_LiftComponents__LiftComponents, "LiftManager" xIdNumber(0)
  XCOMMON_EXTRAS, yPrsT_z_LiftComponents_0_LiftManager,
  yPrsS_z_LiftComponents_0_LiftManager xService(0) xOptChan(0), 0 xNrInst(1)
  xNrInst(0), (XPRSNODE *)0,
  (xptrint)sizeof(yVDef_z_LiftComponents_0_LiftManager)
  xPrsPrioPar(xDefaultPrioProcess), (XPRSNODE *)0 xTrace(-1) xGRTrace(-1)
  xBreakB(yRef_z_LiftComponents_0_LiftManager)
  xBreakB(ySym_z_LiftComponents_0_LiftManager) xBreakB(3) xMSCETrace(-1)
  xCoverage(yPrsC_z_LiftComponents_0_LiftManager) xCoverage(0) xCoverage(0),
  yPAD_z_LiftComponents_0_LiftManager, yFree_z_LiftComponents_0_LiftManager,
  (xPrsIdNode)0, (xPrdIdNode *)0, (xBlockIdNode)0
  xBreakB("#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#izLc2IWf8ZDLv*-k-VcmIr*V|pos(1,18)\")")
  xThreadName(0) xThreadName(0) XPRS_EXTRAS(z_LiftComponents_0_LiftManager)};
static xSignalNode ySigA_z_LiftComponents_0_LiftManager = (xSignalNode)0;
XCONST struct xSignalIdStruct ySigR_z_LiftComponents_0_LiftManager =
  {xStartUpSignalEC , (xIdNode)0, (xIdNode)0,
  (xIdNode)&yPacR_z_LiftComponents__LiftComponents xIdNames("-") xIdNumber(0)
  XCOMMON_EXTRAS, (xptrint)sizeof(ySignalPar_z_LiftComponents_0_LiftManager),
  &ySigA_z_LiftComponents_0_LiftManager, 0 xFreS(0) SIGCODE(STARTUPSIGNAL)
  xBreakB("#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#izLc2IWf8ZDLv*-k-VcmIr*V|pos(1,18)\")")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};
XPROCESSDEF_C(LiftManager,"LiftManager",z_LiftComponents_0_LiftManager,
  yPAD_z_LiftComponents_0_LiftManager,yVDef_z_LiftComponents_0_LiftManager)
void yFree_z_LiftComponents_0_LiftManager(void *yVarP)
{
  yFree_z_LiftComponents_02_AKReferenceControllerList((void **)&((yVDef_z_LiftComponents_0_LiftManager *)yVarP)->z_LiftComponents_07_controllers);
}

/*+++++
* GR ref function for process LiftManager
* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#izLc2IWf8ZDLv*-k-VcmIr*V|pos(1,29)")
++++++*/
#ifdef XBREAKBEFORE
char * yRef_z_LiftComponents_0_LiftManager (int SymbolNo, xSymbolType *SymbolType)
{
  switch (SymbolNo) {
    case 0: *SymbolType = xsStart;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#vEgFSVcfAvAL7*HgNEGAsXyI|pos(1,9)\")";
    case 1: *SymbolType = xsInput;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#U3AhBEOiM85LuKfZOVOCJs5E|pos(1,13)\")";
    case 2: *SymbolType = xsInput;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#jRCH9E6TcSCLT6699EeWlOmL|pos(1,13)\")";
    case 3: *SymbolType = xsLabel;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#EsCi*I2R*O5LCgBkXEqhdZCE|pos(2,17)\")";
    case 4: *SymbolType = xsInput;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#iYDqzIHl5*BLF7X7cLOv9pLI|pos(1,13)\")";
    case 5: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#qGLfEL5N-keLF6AX2Lt8NG2I|pos(1,13)\")";
    case 6: *SymbolType = xsOutput;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#c1VICE4f2TAL2Iva2LLE4szE|pos(1,17)\")";
    case 7: *SymbolType = xsValueReturningProcedureCall;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#qGLfEL5N-keLF6AX2Lt8NG2I|pos(1,27)\")";
    case 8: *SymbolType = xsNextstate;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#DhDx-Eewnp5Lrjoc3Ercy1yI|pos(1,13)\")";
    case 9: *SymbolType = xsProcedureCall;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#K1kAwICQtGDL6sec-IdkG6fV|pos(1,17)\")";
    case 10: *SymbolType = xsNextstate;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#WISYWVVpWlAL-fc6SIw9FQAE|pos(1,17)\")";
    case 11: *SymbolType = xsOutput;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#3W3IzLDxK0DLn0pZLElVSRVV|pos(1,17)\")";
    case 12: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#EsCi*I2R*O5LCgBkXEqhdZCE|pos(1,17)\")";
    case 13: *SymbolType = xsDecision;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#IT8yPL-ntwVLPLt6nLl-vjMI|pos(1,26)\")";
    case 14: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#5pjjCEUZKvVLBNQaaLvoLZnV|pos(1,25)\")";
    case 15: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#DGruzE7e6LCL65vhnLNQy2*L|pos(1,25)\")";
    case 16: *SymbolType = xsOutput;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#UgtHMLqs05DLim8drInZfsiI|pos(1,25)\")";
    case 17: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#xteJZLtLVo0L3HXg9Ef9gMOI|pos(1,25)\")";
    case 18: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#7pJm7V-3GaiLKLKY1LmsOlBI|pos(1,25)\")";
    case 19: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#NTILsIfJr*VLF7RgYE8bdXKL|pos(1,25)\")";
    case 20: *SymbolType = xsNextstate;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#wSJ-0VD3ubFLqqwgPI0hSe8V|pos(1,25)\")";
    case 21: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#l7A0zVl56HELBRAZ4LZ6jnkL|pos(1,17)\")";
    case 22: *SymbolType = xsIf;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#RUSfHEz7*LELQI4kGL3wbCQV|pos(1,21)\")";
    case 23: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#GuDgdLIsoL0Ljt16oIgehgWE|pos(1,29)\")";
    case 24: *SymbolType = xsAssignmentStatement;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#NRfa*I7yypLLPhN6TLgGSHKV|pos(1,29)\")";
    case 25: *SymbolType = xsDecision;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#YpOxHI5JoILLzUtXLEPnRW2L|pos(1,26)\")";
    case 26: *SymbolType = xsOutput;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#R1STXL73ChFLW5gbkErEc9BV|pos(1,25)\")";
    case 27: *SymbolType = xsNextstate;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#HbQVwLlz15lLe1faiI7aomJL|pos(1,25)\")";
    case 28: *SymbolType = xsNextstate;
      return "#SDTREF(U2,\"u2:F:\\UML\\LiftManagement20\\SystemDesign\\LiftManagement.u2#P0UrZV0*2FFLyPa7*IU7H3UI|pos(1,25)\")";
    default : *SymbolType = xsNoSuchSymbolType; return "";
  }
}
#endif

/*+++++
* Function for process LiftManager
* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#izLc2IWf8ZDLv*-k-VcmIr*V|pos(1,29)")
++++++*/
YPAD_FUNCTION(yPAD_z_LiftComponents_0_LiftManager)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z_LiftComponents_0_LiftManager)
  YPAD_TEMP_VARS
  #ifdef XTRACE
    SDL_Boolean yDcn_SDL_Boolean;
  #endif
  YPRSNAME_VAR("LiftManager")

  BEGIN_PAD(yVDef_z_LiftComponents_0_LiftManager)
#ifndef XNOPROCATSTARTUP
  while (yVarP->ActivePrd != (xPrdNode)0 ) {
    CALL_PROCEDURE_STARTUP
#ifdef XBREAKBEFORE
    if (yVarP->ActivePrd != (xPrdNode)0 ) {
      XBETWEEN_SYMBOLS(yVarP->ActivePrd->RestartAddress, 203)
    } else {
      XBETWEEN_SYMBOLS(yVarP->RestartAddress, 205)
    }
#endif
  }
#endif

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/* ----- START ----- */
/* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#vEgFSVcfAvAL7*HgNEGAsXyI|pos(1,9)") */
  case 0:
    BEGIN_START_TRANSITION(ySignalPar_z_LiftComponents_0_LiftManager)
    XAT_FIRST_SYMBOL(0)
    yAssF_z_Interfaces_U_ptr_Request(yVarP->z_LiftComponents_06_newRequest,
      z_Interfaces_U0_Null(), XASS_MR_ASS_NF);
    GenericDefault((void *)&yVarP->z_LiftComponents_07_controllers,
      (tSDLTypeInfo *)&ySDL_z_LiftComponents_02_AKReferenceControllerList);
    yAssF_SDL_PId(yVarP->z_LiftComponents_09_tmpCtrl, SDL_NULL, XASS_MR_ASS_NF);
    yAssF_SDL_PId(yVarP->z_LiftComponents_0B_minimalEffort, SDL_NULL,
      XASS_MR_ASS_NF);
    XBETWEEN_SYMBOLS(7, 226)

/* ----- OPERATOR CALL @NewRequest  (from EXPRESSION in next symbol) ----- */
/* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#qGLfEL5N-keLF6AX2Lt8NG2I|pos(1,27)") */
#ifdef XCASELABELS
  case 7:
#endif
    ALLOC_PROCEDURE(z_Interfaces_MC_NewRequest,
      yPrdN_z_Interfaces_MC_NewRequest,
      sizeof(yVDef_z_Interfaces_MC_NewRequest))
    PROCEDURE_ALLOC_ERROR
    ((yVDef_z_Interfaces_MC_NewRequest *)PROC_DATA_PTR)->z_Interfaces_MC0_result =
      &yVarP->xPrdCallRes1_z_Interfaces_U_ptr_Request;
    CALL_PROCEDURE(z_Interfaces_MC_NewRequest,
      yPrdN_z_Interfaces_MC_NewRequest, -1, 5)
    PROCEDURE_ALLOC_ERROR_END
    XAFTER_VALUE_RET_PRDCALL(5)

/* ----- ASSIGNMENT newRequest := ... ----- */
/* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#qGLfEL5N-keLF6AX2Lt8NG2I|pos(1,13)") */
#ifdef XCASEAFTERPRDLABELS
  case 5:
#endif
    yAssF_z_Interfaces_U_ptr_Request(yVarP->z_LiftComponents_06_newRequest,
      yVarP->xPrdCallRes1_z_Interfaces_U_ptr_Request, XASS_MR_ASS_FR);
    #ifdef XTRACE
    xTraceAssign("newRequest := ", &(yVarP->z_LiftComponents_06_newRequest),
      (tSDLTypeInfo *)&ySDL_z_Interfaces_U_ptr_Request);
  #endif
#ifdef XMSCE
  xMSCEAssign(VarP, "newRequest := ", &(yVarP->z_LiftComponents_06_newRequest),
    (tSDLTypeInfo *)&ySDL_z_Interfaces_U_ptr_Request);
#endif
    XBETWEEN_SYMBOLS(8, 259)

/* ----- NEXTSTATE Idle ----- */
/* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#DhDx-Eewnp5Lrjoc3Ercy1yI|pos(1,13)") */
#ifdef XCASELABELS
  case 8:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Idle, z_LiftComponents_03_Idle, "Idle")

/* ----- TRIGGER addLift in STATE * ----- */
/* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#U3AhBEOiM85LuKfZOVOCJs5E|pos(1,13)") */
  case 1:
    XDEBUG_LABEL(ASTERISK_addLift)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("addLift")
    XBETWEEN_SYMBOLS(9, 275)

/* ----- CALL add ----- */
/* #SDTREF(U2,"u2:F:\UML\LiftManagement20\SystemDesign\LiftManagement.u2#K1kAwICQtGDL6sec-IdkG6fV|pos(1,17)") */
#ifdef XCASELABELS
  case 9:
#endif
    ALLOC_PROCEDURE(z_LiftComponents_01_add, yPrdN_z_LiftComponents_01_add,
      sizeof(yVDef_z_LiftComponents_01_add))

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -