Пояснения по вводу функций через текстовое окошко (Tom Gutman)

There are two user functions available.  Compile takes a string as an argument and returns a data structure called a program.  Eval takes a vector of arguments and a program and returns a value.

The string expression uses the normal conventions for linear expressions.  The infix binary operators for addition, subtraction, multiplication, division, and exponentiation are represented by +, -, *, /, and ^.  The unary prefix operators for identity, negation, and conversion to degrees are represented by +, -, and °.  The unary postfix operators for factorial and conversion from degrees are represented by ! and °.  Parentheses (()) are used for grouping.  Normal (according to me) order of operations applies otherwise.

Functions are written as a function name followed by a parenthesized list of argument values.  The following functions are provided:  sin, cos, tan, asin, acos, atan, atan2, abs, sqrt.  They are defined to be the Mathcad functions of the same name or the commonly used functions of that name.

Numbers are written in normal decimal style.  Decimal exponents, introduced by e or E, are allowed.