axiom-developer
[Top][All Lists]

[Axiom-developer] [AxiomInterpreter]

 From: Bill Page Subject: [Axiom-developer] [AxiomInterpreter] Date: Wed, 30 Nov 2005 02:31:44 -0600

Changes http://wiki.axiom-developer.org/AxiomInterpreter/diff
--

??changed:
-Interprets commands typed by the user or read from files.
-
-From unknown Thu Jun 2 11:45:15 -0500 2005
-From: unknown
-Date: Thu, 02 Jun 2005 11:45:15 -0500
-Subject:
-
-\begin{axiom}
-min(x**2, x)
-\end{axiom}
The Axiom interpret is the part of Axiom responsible for handling
user input during an interactive session.

The interpreter parses the user’s input expression to create an
expression tree, then does a bottom-up evaluation of the tree.
Each subtree encountered that is not a value consists of a root
node denoting an operation name and one or more leaf nodes
denoting operands. The interpreter resolves type mismatches
and uses type-inferencing and a library database to determine
appropriate types for the operands and the result, and the
operation to be performed.

The interpreter determines the domain in which to perform the
indicated operation, and invokes a function from the domain to
compute a value. The subtree is then replaced by that value and
the process continues. Once the entire tree has been processed,
the value replacing the top node of the tree is displayed back
to the user as the value of the expression.

Input to the interpreter may be read from a file using the
command::