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

Реферат Створення програми-інтерпретатора для обробки вихідних текстів програм, що виконують дії над комплексними числами





p align="justify"> {tok; ret = FALSE; (1)

{_get_token (cb, & tok); (tok.type == TOK_EOF) break; = (! strcmp (tok.str, _token)); (! ret && (_eat_nl && tok.type == ' n')) continue; (! ret)

{_put_token_back (cb, & tok);

}

{(! _remove) _put_token_back (cb, & tok);

};

} ret;

} lexer_put_token_back (CodeBuffer * cb, TokenRec * _tokRec)

{(cb-> tok_backbuf_count> = MAX_TOKEN_BACKBUF_LEN-1)

{_error (cb, "Буфер Tokenа переповнений. n");

}> tok_backbuf [cb-> tok_backbuf_count] = * _tokRec;> tok_backbuf_count + +;

} lexer_get_token_from_backbuf (CodeBuffer * cb, TokenRec * _tokRec)

{

/* Містить буфер дані? */(Cb-> tok_backbuf_count> 0)

{> tok_backbuf_count -;

* _tokRec = cb-> tok_backbuf [cb-> tok_backbuf_count];

/* Взяли дані з буфера */TRUE;

}

{/ * Обнулити рядок 0 */

* _tokRec-> str = ' 0';

_tokRec-> type = TOK_EOF;

}

/* Буфер був порожній */

return FALSE;

} lexer_get_token (CodeBuffer * cb, TokenRec * _tokRec)

{

/* Читаємо наступний Token з буфера */

char ch; ch2 = 0; * cPtr; char buf [MAX_TOKEN_LEN];

/* Очистити буфер tokenов */(_tokRec, sizeof (TokenRec), ' 0');

* buf = * (buf +1) = * (buf +2) = ' 0';

* (_tokRec-> str) = * (_tokRec-> str +1) = * (_tokRec-> str +2) = ' 0';

_tokRec-> type = TOK_EOF;

/* Перевірка буфера tokenов */

if (lexer_get_token_from_backbuf (cb, _tokRec))

{_tokRec-> type;

}

/* Вибираємо наступний символ, видаляємо прогалини, коментарі */

ch = lexer_get_charEx (cb);

/* Перевіряємо чи є символ оператором */

switch (ch)

{'=':

_tokRec-> type = TOK_ASSIGN;

/* == */(lexer_lookahead (cb, '=', 1))

_tokRec-> type = TOK_EQ;; '+':

/* + = */(lexer_lookahead (cb, '=', 1))

_tokRec-> type = TOK_ASPLUS;

/* + + */if (lexer_lookahead (cb, '+', 1))

_tokRec-> type = TOK_INCR;

/* + */

_tokRec-...


Назад | сторінка 15 з 21 | Наступна сторінка





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

  • Реферат на тему: Розробка програми, що реалізує алгоритм, який використовує z-буфер
  • Реферат на тему: Буфер обміну
  • Реферат на тему: Використання буфера обміну. Адресація комірок MS Excel
  • Реферат на тему: Побудова електроживлячій установки з відокремленою акумуляторною батареєю в ...
  • Реферат на тему: Створення програмного продукту, що дозволяє синхронізувати дані вже наявної ...