Теми рефератів
> Реферати > Курсові роботи > Звіти з практики > Курсові проекти > Питання та відповіді > Ессе > Доклади > Учбові матеріали > Контрольні роботи > Методички > Лекції > Твори > Підручники > Статті Контакти
Реферати, твори, дипломи, практика » Курсовые проекты » Розробка синтаксичного розпізнавача обчислюваного оператора переходу мови FORTRAN

Реферат Розробка синтаксичного розпізнавача обчислюваного оператора переходу мови FORTRAN





"% s n", string);

do

{

tmp [0] = NULL;

j = 0;

while (! isspace (string [k + +]) && String [k-1]! = NULL)

{

tmp [j + +] = string [k-1];

}

tmp [j] = NULL;

if ((strcmp (tmp, "GOTO") ! = 0) &&! Isdigit (tmp [0]))

{

# ifdef TEST

cprintf ("Не визначений ідентифікатор% s. r n ", tmp);

# endif

ERR1 = a;

ERR2 = i;

i + +;

Error (5, tmp);

}

else if (! isdigit (tmp [0]))

{

label = YES;

ERR1 = a;

ERR2 = i;

pos = k;

while (AB ()! = OK);

break;

}

}

while (string [k] ! = NULL);

if (label == NO)

{

# ifdef TEST

cprintf ("Не знайдений оператор GOTO. r nСтрока розбору не підлягає. r n ");

# endif

Error (6);

}

a + +;

return (OK);

}

// Видалення у рядку пробілів.

void Delspace (char * string)

{

char str [STR_LEN];

int j = 0;

int i = 0;

while (isspace (string [i]) && String [i]! = NULL)

i + +;

for (; string [i] ! = NULL; i + +)

{

if (islower (string [i]))

string [i] = toupper (string [i]);

str [j + +] = string [i];

}

str [j] = NULL;

sprintf (string, "% s", str);

string [j-1] = NULL;

# ifdef TEST

textattr (30);

clreol ();

cputs (string);

textattr (78);

cputs (" r n");

# endif

}

// Реалізація нетермінала <Арифметичне Вираз>.

int AB (void)

{

# ifdef TEST

cprintf ("AB - Перевірка на Арифметичне Вираз. R n ");

# endif

fprintf (errors, "AB - Перевірка на Арифметичне Вираз. N ");

Scan ();

T ();

if (nx == '+')

{

AB ();

}

else if (nx == '-')

{

AB ();

}

if (nx == NULL)

return (OK);

else if (nx! = '*' && nx! = '/' && nx! = ')')

Error (1);

return (YES);

}

// Реалізація нетермінала <Терм>.

int T (void)

{

# ifdef TEST

cprintf ("T - Перевірка на Терм. R n ");

# endif

fprintf (errors, "T - Перевірка на Терм. N ");

O ();

if (nx == '/')

{

Scan ();

T ();

}

else if (nx == '*')

{

Scan ();

if (nx == '*')

{

Scan ();

T ();

}

else T ();

}

if (nx == NULL)

return (OK);

else if (nx! = '+' && nx! = '-' && nx! = ')')

Error (2);

return (OK);

}

// Реалізація нетермінала ...


Назад | сторінка 7 з 9 | Наступна сторінка





Схожі реферати:

  • Реферат на тему: Return to materialism
  • Реферат на тему: Дослідження токсичного і генотоксичних ефектів синтетичних харчових барвник ...
  • Реферат на тему: Розробка веб-сайту міжнародного симпозіуму SCAN 2012
  • Реферат на тему: Реалізація мовного процесора оператора FOR мови BASIC
  • Реферат на тему: Податкова перевірка