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

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





tify"> {_get_token (cb, & currToken); ("parser_level3: Оператор =% c Значення v1 =% s n", TOK_EXP, parser_value_show_as_string (& v1)); _PAR2 (" ВІДЛАДКА parser_level3: Оператор =% c Значення v1 =% s n ", TOK_EXP, parser_value_show_as_string (& v1)); v2 = parser_level3 (cb)/* Recursively */_power (& v1, & v2);

/* Free v2 */_value_free (& v2);

} v1;

} parser_level4 (CodeBuffer * cb)

{

int oper;

oper = 0;

/* Унарний +/- приклад. (+3) + -3. */(CurrToken.type == '-' | | currToken.type == '+')

{= currToken.type; _get_token (cb, & currToken);

} v1 = parser_level5 (cb); (oper! = 0)

{_PAR2 ("ВІДЛАДКА parser_level4 (унарний +/-): Оператор =% c Значення v1 =% s n", oper, parser_value_show_as_string (& v1)); _unary (oper, & ; v1);

} v1;

} parser_level5 (CodeBuffer * cb)

{val; v1;// = {. type = TOK_NUMERIC, {. d = 0.0},. error = NULL};. type = TOK_NUMERIC;. d = 0.0;

v1.error = NULL;

/* Збереження поточного типу tokenа */

val = currToken; (currToken.type)

{

/* '(' Вираз ')'.

Приклад. "((2 + 5) * 6)"

*/TOK_PAROPEN: _get_token (cb, & currToken);

v1 = parser_bool1 (cb);

/* З правого дужкою ')'? */(CurrToken.type! = TOK_PARCLOSE)

{

/* Відсутність права дужка ')' */

v1.error = parser_format_string ("Відсутня права дужка ')'.");

} _get_token (cb, & currToken);; TOK_NUMERIC:. type = TOK_NUMERIC;. d = currToken.val.d; _get_token (cb, & currToken);

break; TOK_IDENT:

{

/* Це вбудована функція? */* Func = lookup_builtin_function (currToken.str);

if (func)

{

/* Перевірка відкриття '(' */

if (! lexer_lookahead (cb, '(', TRUE/* remove it * /))

{

/* Відсутність '(' * /. error = parser_format_string ("Відсутня ліва дужка '(' у функції% s. n", func-> name); l_end_ident;

} _get_token (cb, & currToken); = execute_builtin_function (cb, func);

/* Із закриттям ')'? */(CurrToken.type! = TOK_PARCLOSE)

{

/* Відсутність ')' * /. error = parser_format_string ("Відсутня права дужка ')'. отриманий знак '% s'. ", currToken.s...


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





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

  • Реферат на тему: Безвісна відсутність
  • Реферат на тему: Створення бази даних &Оператор стільникового зв'язку&
  • Реферат на тему: Чати відсутність працівника на робочому місці
  • Реферат на тему: Створення програми для обчислення значення функції
  • Реферат на тему: Повна відсутність зубів, особливості обстеження хворого, клініка, діагности ...