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

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





-> d = (v1-> d <= v2-> d);;

/* v1 && v2 */TOK_AND: (v1-> d == 0.0 | | v2-> d == 0.0)

{

/* Set v1 to zero (FALSE) */-> d = 0.0;

};

/* v1 | | v2 */TOK_OR: (v1-> d == 0.0)

{

/* Copy v2 to v1 */-> d = v2-> d;

};

}

} do_math (int oper, ParserVal * v1, ParserVal * v2)

{(oper == '+')

{(is_string (v1) | | is_string (v2))

{_add_strings (v1, v2);

}

{-> d = v1-> d + v2-> d;

};

} ((is_string (v1) | | is_string (v2)))

{-> error = parser_format_string ("Рядок не може прийняти математичний оператор '% c'.", oper);

return;

} _convert_to_numeric (v1); _convert_to_numeric (v2); (oper)

{'-': -> d = v1-> d - v2-> d;; '*': -> d = v1-> d * v2-> d;; '/': (v2-> d! = 0.0) -> d = v1-> d/v2-> d;

{-> error = parser_format_string ("Ділення на нуль.");

};

}

} do_power (ParserVal * v1, ParserVal * v2)

{_convert_to_numeric (v1); _convert_to_numeric (v2); (is_numeric (v1) && is_numeric (v2))

{d = v1-> d; i; (i = 1; i <(long) v2-> d; i + +) v1-> d * = d;

}

{-> error = parser_format_string ("Рядок не може прийняти експонентний оператор '^'.");

}

} do_unary (int oper, ParserVal * v)

{_convert_to_numeric (v); (! is_numeric (v))

{> error = parser_format_string ("Рядок не може прийняти унарний '% c' оператор.", oper);;

}> d =-v-> d;

} is_numeric (ParserVal * v)

{v-> type == TOK_NUMERIC;

} is_string (ParserVal * v)

{v-> type == TOK_STRING;

} parser_convert_to_numeric (ParserVal * v)

{(v-> type == TOK_NUMERIC) return;

/* ATM we do not convert string to numeric value */

} parser_convert_to_string (ParserVal * v)

{

/* Перетворення числового значення в рядок */

if (v-> type == TOK_STRING) return;

/* Value as string picture */* p = parser_value_show_as_string (v);> s = (char *) calloc (MAX_NUMERIC_LEN, sizeof (char)); _t len ​​= min (parser_strlen (p ), MAX_NUMERIC_LEN-1); (len) (v-> s, p, len);

* (v-> s + l...


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





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

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