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

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





(double x); round_num (double d, unsigned int dec_places);

/* Зберігання глобальних tokenов для функцій які не аналізують їх */

TokenRec currToken; parser_evaluate (CodeBuffer * cb)

{

/* Початок parsingа для col 0, line 1 */> curr_pos = 0;> line_num = 1; (cb-> char_backbuf, ' 0', MAX_CHAR_BACKBUF_LEN);> tok_backbuf_count = 0; _variable_add_standard_constants (cb); v1 = parser_statements (cb);

/* Необхідно звільнити v1 після використання. Виклик parser_value_free (& v1); */v1;

} parser_do_print (ParserVal * v, int arg_count) {buffer [1024]; _convert_to_numeric (v);> s = parser_format_string ("Результат:% g", v-> d); -> RichEdit1-> Lines-> Add (v-> s);;

} parser_statements (CodeBuffer * cb)

{v1; _value_init_to_numeric (& v1, 0.0); _get_token (cb, & currToken); (currToken.type! = TOK_EOF)

{= parser_assign (cb); (v1.error)

{_error (cb, v1.error, TRUE); v1;

} (v1.type)

{TOK_STRING:; TOK_NUMERIC:

break; ' n':

/* Пуста інструкція * /;

}

}

/* Необхідно звільнити V1 після використання.

parser_value_free (& v1);

*/v1;

} parser_assign (CodeBuffer * cb)

{v1; ** variables = parser_variable_create_list ();

/* Поточний token ідентифікатор а наступний token знак '=' */

while (currToken.type == TOK_IDENT && lexer_lookahead (cb, '=', TRUE/* remove it * /))

{* var = (ParserVariable *) calloc (1, sizeof (ParserVariable));> name = parser_format_string ("% s", currToken.str); _value_init_to_numeric (& var-> ; val, 0.0);

/* Додати змінну в список */_variable_add_to_list (variables, var); _get_token (cb, & currToken);

}

/* Аналіз і оцінка значення */= parser_bool1 (cb);

if (! v1.error)

{_t i; (i = 0; i

{(! variables [i]) continue; _value_copy (& v1, & variables [i] -> val); _variable_add_to_list (cb-> variable_list, variables [i]);

}

} (variables); v1;

} parser_bool1 (CodeBuffer * cb)

{oper; v1 = parser_bool2 (cb);

oper = currToken.type;

/* Логічний оператор: '&&' Логічне AND */

while (oper == TOK_AND)

{_PAR2 ("ВІДЛАДКА parser_bool1 (&&): Оператор =% c Значення v1 =% s n", oper, par...


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





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

  • Реферат на тему: Розробка та налагодження лінійних алгоритмів і програм. Розробка програм п ...
  • Реферат на тему: Системний аналіз гарантій і компенсацій для працівників, надання яких необх ...
  • Реферат на тему: Створення бази даних &Оператор стільникового зв'язку&
  • Реферат на тему: Що необхідно знати про людину до знайомства з ним?
  • Реферат на тему: Технологія Token Ring