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

📄 helloworld.c

📁 Telelogic 帮助文档当中的一个示例
💻 C
📖 第 1 页 / 共 2 页
字号:
YPAD_FUNCTION(yPAD_z02_HelloWorld)
{
  YPAD_YSVARP
  YPAD_YVARP(yVDef_z02_HelloWorld)
  YPAD_TEMP_VARS
  YPRSNAME_VAR("HelloWorld")

  BEGIN_PAD(yVDef_z02_HelloWorld)

  LOOP_LABEL
  switch (yVarP->RestartAddress) {

/*-----
* START
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.spr(1),116(55,25),1)
------*/
  case 0:
    BEGIN_START_TRANSITION(yPDef_z02_HelloWorld)
    XAT_FIRST_SYMBOL(0)
    XBETWEEN_SYMBOLS(2, 291)

/*-----
* NEXTSTATE Waiting
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.spr(1),119(55,40),1)
------*/
#ifdef XCASELABELS
  case 2:
#endif
    XAT_LAST_SYMBOL
    SDL_NEXTSTATE(Waiting, z020_Waiting, "Waiting")

/*-----
* INPUT Hello
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.spr(1),125(55,55),1)
------*/
  case 1:
    XDEBUG_LABEL(Waiting_Hello)
    XAT_FIRST_SYMBOL(1)
    XOS_TRACE_INPUT("Hello")
    XBETWEEN_SYMBOLS(3, 311)

/*-----
* OUTPUT World
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.spr(1),131(55,70),1,1)
------*/
#ifdef XCASELABELS
  case 3:
#endif
    ALLOC_SIGNAL(World, ySigN_z4_World, TO_PROCESS(Env, &yEnvR_env),
      XSIGNALHEADERTYPE)
    SIGNAL_ALLOC_ERROR
    SDL_2OUTPUT_COMPUTED_TO(xDefaultPrioSignal, (xIdNode *)0, World,
      ySigN_z4_World, TO_PROCESS(Env, &yEnvR_env), 0, "World")
    SIGNAL_ALLOC_ERROR_END
    XBETWEEN_SYMBOLS(4, 326)

/*-----
* STOP
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.spr(1),137(60,85),1)
------*/
#ifdef XCASELABELS
  case 4:
#endif
    XAT_LAST_SYMBOL
    SDL_STOP
  }
}

/*****
* STATE Waiting
* <<SYSTEM HelloWorld/BLOCK HelloWorld/PROCESS HelloWorld>>
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.spr(1),119(55,40),1,1)
******/
static XCONST xInputAction yStaH_z020_Waiting[] = {xInput, xDiscard};
static XCONST XINPUTREFTYPE yStaI_z020_Waiting[] = {1, 0};
#ifdef XCOVERAGE
static long int yStaC_z020_Waiting[1+1];
#endif
XCONST struct xStateIdStruct yStaR_z020_Waiting = {xStateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yPrsR_z02_HelloWorld, "Waiting" XCOMMON_EXTRAS,
  z020_Waiting, yStaH_z020_Waiting, yStaI_z020_Waiting, 0, 0, 0
  xCoverage(yStaC_z020_Waiting), (xStateIdNode)0
  xBreakB("#SDTREF(SDL,D:\\Telelogic\\HelloWorld\\HelloWorld.spr(1),119(55,40),1,1)")
  XSTA_EXTRAS};

/*****
* SIGNALROUTE SR1
* <<SYSTEM HelloWorld/BLOCK HelloWorld>>
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.sbk(1),128(32,52),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z03_SR1[] = {SIGNAL_NAME(Hello, &ySigR_z3_Hello),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z03_SR1[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z03_SR1[] = {(xIdNode)&yPrsR_z02_HelloWorld, (xIdNode)0};
XCONST xIdNode yChaOR_z03_SR1[] = {(xIdNode)&yChaRR_z1_C1, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z03_SR1 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_HelloWorld, "SR1" XCOMMON_EXTRAS,
  yChaS_z03_SR1, yChaO_z03_SR1, &yChaRR_z03_SR1 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z03_SR1 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_HelloWorld, "SR1" XCOMMON_EXTRAS,
  yChaSR_z03_SR1, yChaOR_z03_SR1, &yChaR_z03_SR1 XCHA_EXTRAS};
#endif

/*****
* SIGNALROUTE SR2
* <<SYSTEM HelloWorld/BLOCK HelloWorld>>
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.sbk(1),119(97,52),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z04_SR2[] = {SIGNAL_NAME(World, &ySigR_z4_World),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z04_SR2[] = {(XSIGTYPE)0};
XCONST xIdNode yChaO_z04_SR2[] = {(xIdNode)&yChaR_z2_C2, (xIdNode)0};
XCONST xIdNode yChaOR_z04_SR2[] = {(xIdNode)&yPrsR_z02_HelloWorld, (xIdNode)0};
XCONST struct xChannelIdStruct yChaR_z04_SR2 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_HelloWorld, "SR2" XCOMMON_EXTRAS,
  yChaS_z04_SR2, yChaO_z04_SR2, &yChaRR_z04_SR2 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z04_SR2 = {xSignalrouteEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&yBloR_z0_HelloWorld, "SR2" XCOMMON_EXTRAS,
  yChaSR_z04_SR2, yChaOR_z04_SR2, &yChaR_z04_SR2 XCHA_EXTRAS};
#endif

/*****
* CHANNEL C1
* <<SYSTEM HelloWorld>>
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.ssy(1),131(30,52),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z1_C1[] = {SIGNAL_NAME(Hello, &ySigR_z3_Hello),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z1_C1[] = {(XSIGTYPE)0};
#ifndef XMULTIPLESYSTEMS
XCONST xIdNode yChaOR_z1_C1[] = {(xIdNode)&yEnvR_env, (xIdNode)0};
#else
XCONST xIdNode yChaOR_z1_C1[] = {(xIdNode)&yGateOut_HelloWorld_C1, (xIdNode)0};
#endif
XCONST struct xChannelIdStruct yChaR_z1_C1 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld, "C1" XCOMMON_EXTRAS, yChaS_z1_C1,
  yChaO_z1_C1, &yChaRR_z1_C1 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z1_C1 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld, "C1" XCOMMON_EXTRAS, yChaSR_z1_C1,
  yChaOR_z1_C1, &yChaR_z1_C1 XCHA_EXTRAS};
#ifdef XMULTIPLESYSTEMS
XCONST xIdNode yConnIn_HelloWorld_C1[] = {(xIdNode)&yChaR_z1_C1, (xIdNode)0};
XCONST struct xChannelIdStruct yGateIn_HelloWorld_C1= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld xIdNames("HelloWorld_C1")
  XCOMMON_EXTRAS, yChaS_z1_C1, yConnIn_HelloWorld_C1, &yGateOut_HelloWorld_C1
  XCHA_EXTRAS};
XCONST struct xChannelIdStruct yGateOut_HelloWorld_C1= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld xIdNames("HelloWorld_C1")
  XCOMMON_EXTRAS, yChaSR_z1_C1, yConnOut_HelloWorld_C1, &yGateIn_HelloWorld_C1
  XCHA_EXTRAS};
#endif
#endif

/*****
* CHANNEL C2
* <<SYSTEM HelloWorld>>
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.ssy(1),122(100,52),1,1)
******/
#ifndef XOPTCHAN
static XCONST XSIGTYPE yChaS_z2_C2[] = {SIGNAL_NAME(World, &ySigR_z4_World),
  (XSIGTYPE)0};
static XCONST XSIGTYPE yChaSR_z2_C2[] = {(XSIGTYPE)0};
#ifndef XMULTIPLESYSTEMS
XCONST xIdNode yChaO_z2_C2[] = {(xIdNode)&yEnvR_env, (xIdNode)0};
#else
XCONST xIdNode yChaO_z2_C2[] = {(xIdNode)&yGateOut_HelloWorld_C2, (xIdNode)0};
#endif
XCONST struct xChannelIdStruct yChaR_z2_C2 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld, "C2" XCOMMON_EXTRAS, yChaS_z2_C2,
  yChaO_z2_C2, &yChaRR_z2_C2 XCHA_EXTRAS};
XCONST struct xChannelIdStruct yChaRR_z2_C2 = {xChannelEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld, "C2" XCOMMON_EXTRAS, yChaSR_z2_C2,
  yChaOR_z2_C2, &yChaR_z2_C2 XCHA_EXTRAS};
#ifdef XMULTIPLESYSTEMS
XCONST xIdNode yConnIn_HelloWorld_C2[] = {(xIdNode)&yChaRR_z2_C2, (xIdNode)0};
XCONST struct xChannelIdStruct yGateIn_HelloWorld_C2= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld xIdNames("HelloWorld_C2")
  XCOMMON_EXTRAS, yChaSR_z2_C2, yConnIn_HelloWorld_C2, &yGateOut_HelloWorld_C2
  XCHA_EXTRAS};
XCONST struct xChannelIdStruct yGateOut_HelloWorld_C2= {xGateEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld xIdNames("HelloWorld_C2")
  XCOMMON_EXTRAS, yChaS_z2_C2, yConnOut_HelloWorld_C2, &yGateIn_HelloWorld_C2
  XCHA_EXTRAS};
#endif
#endif

/*****
* SIGNAL Hello
* <<SYSTEM HelloWorld>>
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.ssy(1),158(55,30),2,3)
******/
XCONST struct xSignalIdStruct ySigR_z3_Hello = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld, "Hello" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(Hello)
  xBreakB("#SDTREF(SDL,D:\\Telelogic\\HelloWorld\\HelloWorld.ssy(1),158(55,30),2,3)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*****
* SIGNAL World
* <<SYSTEM HelloWorld>>
* #SDTREF(SDL,D:\Telelogic\HelloWorld\HelloWorld.ssy(1),158(55,30),3,3)
******/
XCONST struct xSignalIdStruct ySigR_z4_World = {xSignalEC , (xIdNode)0,
  (xIdNode)0, (xIdNode)&ySysR_z_HelloWorld, "World" XCOMMON_EXTRAS,
  (xptrint)sizeof(XSIGNALHEADERTYPE), 0, 0 xFreS(0) SIGCODE(World)
  xBreakB("#SDTREF(SDL,D:\\Telelogic\\HelloWorld\\HelloWorld.ssy(1),158(55,30),3,3)")
  xSigPrioPar(xDefaultPrioSignal) XSIG_EXTRAS};

/*************************************************************************
**                       SECTION Initialization                         **
*************************************************************************/
#ifndef XMULTIPLESYSTEMS
extern void yInit (void)
{
#else
extern void yInit_HelloWorld (void)
{
#endif
  int  Temp;
  YINIT_TEMP_VARS
  BEGIN_YINIT

#ifdef XMONITOR
  xTranslatorVersion =
    "Program generated by Cbasic 4.3.0 ";
#endif
  xInsertIdNode((xIdNode)&ySysR_z_HelloWorld);
  xInsertIdNode((xIdNode)&yBloR_z0_HelloWorld);
  xInsertIdNode((xIdNode)&yPrsR_z02_HelloWorld);
  xInsertIdNode((xIdNode)&ySigR_z02_HelloWorld);
  INIT_PROCESS_TYPE(HelloWorld,z02_HelloWorld,yPrsN_z02_HelloWorld,
    "z02_HelloWorld",-1,1,yVDef_z02_HelloWorld,xDefaultPrioProcess,
    yPAD_z02_HelloWorld)
#ifdef SDL_STATIC_CREATE
  SDL_STATIC_CREATE(HelloWorld,z02_HelloWorld,yPrsN_z02_HelloWorld,"HelloWorld",
    ySigN_z02_HelloWorld,yPDef_z02_HelloWorld,yVDef_z02_HelloWorld,
    xDefaultPrioProcess,yPAD_z02_HelloWorld,1)
#endif
  xInsertIdNode((xIdNode)&yStaR_z020_Waiting);
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z03_SR1);
  xInsertIdNode((xIdNode)&yChaRR_z03_SR1);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z04_SR2);
  xInsertIdNode((xIdNode)&yChaRR_z04_SR2);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z1_C1);
  xInsertIdNode((xIdNode)&yChaRR_z1_C1);
#endif
#ifdef XMULTIPLESYSTEMS
  xInsertIdNode((xIdNode)&yGateIn_HelloWorld_C1);
  xInsertIdNode((xIdNode)&yGateOut_HelloWorld_C1);
#endif
#ifndef XOPTCHAN
  xInsertIdNode((xIdNode)&yChaR_z2_C2);
  xInsertIdNode((xIdNode)&yChaRR_z2_C2);
#endif
#ifdef XMULTIPLESYSTEMS
  xInsertIdNode((xIdNode)&yGateIn_HelloWorld_C2);
  xInsertIdNode((xIdNode)&yGateOut_HelloWorld_C2);
#endif
  xInsertIdNode((xIdNode)&ySigR_z3_Hello);
  xInsertIdNode((xIdNode)&ySigR_z4_World);
}

⌨️ 快捷键说明

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