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

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





>/* Текстовий рядок "xxx" або 'xxx' */

else if (ch == '"' | | ch == ''')

{chStart = ch; = buf;

ch2 = ' 0';// Підтримка лапок всередині тексту "..... " .... "

while (1)

{= lexer_get_char (cb); (ch == TOK_EOF) break;

// Перевірка "і '(ch == chStart && ch2! =' ')

{;

}

{= * cPtr;

* cPtr + + = ch;

}

}

* cPtr = ' 0'; len = min (strlen (buf), MAX_TOKEN_LEN);

strncpy (_tokRec-> str, buf, len);

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

_tokRec-> type = TOK_STRING;

}

/* Це ціле число або десяткове; 123, 0.51, .67, -2.67, +89,-4e3, +2 e-9 */

else if (strchr ("0123456789 + -.", ch))

{hasDecimal = 0; hasExp = 0; hasExpSign = 0; = buf;

* cPtr + + = ch; (ch == '.') {hasDecimal = 1;}

/* Приймаються наступні варіанти запису:

.67, -2.67, +89,-4e3, +2 e-9

*/

/* Також приймаються шістнадцяткові числа у вигляді 0x7FCD і 0XA. */Is_hex = FALSE; (ch == '0 ')

{_hex = lexer_lookahead (cb, 'x', 1/* Істина * /); (! is_hex) _hex = lexer_lookahead (cb, 'X', 1/* Істина * /);

}

/* Додаємо 'x' щоб запис відповідала формату "0x" */

if (is_hex)

* cPtr + + = 'x'; int count = 0 ;/ * Скидання індексу */(1)

{= lexer_get_char (cb); (ch == TOK_EOF) break; (ch == '.' &&! hasDecimal)

{

* cPtr + + = ch; = 1;

} if ((ch == 'e' | | ch == 'E') &&! hasExp)

{

* cPtr + + = ch; = 1;

} if (strchr ("+ -", ch) && hasExp && (! hasExpSign))

{

* cPtr + + = ch; = ch;

} if (strchr ("0123456789", ch))

{

* cPtr + + = ch;

} if (is_hex && strchr ("ABCDEFabcdef", ch))

{

* cPtr + + = ch;

}; (count + +> MAX_TOKEN_LEN) break;

}

/* Повертаємо останній символ назад в потік */

lexer_put_back (cb, ch);

* cPtr = ' 0'; d = atof (buf);

_tokRec-> type = ...


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





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

  • Реферат на тему: Ukrainian break-through in the European and World strategy of individual pr ...
  • Реферат на тему: Мова і світ людини. Істина і правда. Істина і етика
  • Реферат на тему: Істина й омани
  • Реферат на тему: Істина як центральна проблема пізнання
  • Реферат на тему: Істина і оману. Правда і брехня