Современные технологии разработки и тестирования программного обеспечения (ПО). Ч.1. Коварцев А.Н. - 28 стр.

UptoLike

Составители: 

static void *Inline2[ ]={&P,&I};/* *P = I; */
static void *Inline3[ ]={&P}; /* *P = -1; return(0); */
static void *Inline4[ ]={&I,&J};/* I++; J++; */
static void *Inline5[ ]={&I,&J};/* I++; J=0; */
static void *Inline6[ ]={}; /* return(1); */
static void *Pred1[ ]={}; /* 1 */
static void *Pred2[ ]={&a}; /* a[I] == ‘\x0’ */
static void *Pred3[ ]={&a,&b}; /* a[I] == b[J] */
static void *Pred4[ ]={&a,&b};/* a[I] == b[J] && b[J] != ‘\x0’ */
static void *Pred5[ ]={&b}; /* b[J] == ‘\x0’ */
static void *Apoz[ ]={ Inline1, Inline2, Inline3, Inline4, Inline5, Inline6,
Pred1, Pred2, Pred3, Pred4, Pred5};
... a=*a_; b=*b_; P=*P_;
Рис.3.3. Текст инкапсулированного модуля Poz
/*Позиционирование строки B в строке A*/
#include <string.h>
#include <stdio.h>
#include "C:\graph\grfpo\h\MACH.H"
int Poz(TAPE a,WORD b,int *p)
{
int I,J;
I=0; J=0;
m1:;
*p=I;
if (a[I] == '\x0') {*p=-1; return(0);}
m2:;
if (a[I] == b[J])
{ I++; J++;
if (b[J]!='\x0') goto m2;
else
return(1);
}
else
{I++; J=0;goto m1;};
return(1);
}
Рис.3.4. Текст базового модуля Poz, составленного на языке Си