-
Notifications
You must be signed in to change notification settings - Fork 44
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
21 changed files
with
612 additions
and
538 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,82 +1,82 @@ | ||
=================== | ||
asteval reference | ||
=================== | ||
|
||
The asteval module provides an :class:`Interpreter` class, which creates an | ||
interpreter. There is also a convenience function :func:`valid_symbol_name` | ||
|
||
.. _numpy: http://docs.scipy.org/doc/numpy | ||
|
||
.. module:: asteval | ||
|
||
.. class:: Interpreter(symtable=None[, writer=None[, use_numpy=True]]) | ||
|
||
create an asteval interpreter. | ||
|
||
:param symtable: a Symbol table (if ``None``, one will be created). | ||
:type symtable: ``None`` or dict. | ||
:param writer: callable file-like object where standard output will be sent. | ||
:type writer: file-like. | ||
:param use_numpy: whether to use functions from `numpy`_. | ||
:type use_numpy: boolean (``True`` / ``False``) | ||
|
||
The symbol table will be loaded with several built in functions, several | ||
functions from the :py:mod:`math` module and, if available and requested, | ||
several functions from `numpy`_. This will happen even for a symbol table | ||
explicitly provided. | ||
|
||
The ``writer`` argument can be used to provide a place to send all output | ||
that would normally go to :py:data:`sys.stdout`. The default is, of | ||
course, to send output to :py:data:`sys.stdout`. | ||
|
||
The ``use_numpy`` argument can be used to control whether functions from | ||
`numpy`_ are loaded into the symbol table. | ||
|
||
.. method:: eval(expression[, lineno=0[, show_errors=True]]) | ||
|
||
evaluate the expression, returning the result. | ||
|
||
|
||
:param expression: code to evaluate. | ||
:type expression: string | ||
:param lineno: line number (for error messages). | ||
:type lineno: int | ||
:param show_errors: whether to print error messages or leave them | ||
in the :attr:`errors` list. | ||
:type show_errors: bool | ||
|
||
.. method:: __call__(expression[, lineno=0[, show_errors=True]]) | ||
|
||
same as :meth:`eval`. That is one can do:: | ||
|
||
>>> from asteval import Interpreter | ||
>>> a = Interpreter() | ||
>>> a('x = 1') | ||
|
||
instead of:: | ||
|
||
>>> a.eval('x = 1') | ||
|
||
.. attribute:: symtable | ||
|
||
the symbol table. A dictionary with symbol names as keys, and object | ||
values (data and functions). | ||
|
||
For full control of the symbol table, you can simply access the | ||
:attr:`symtable` object, inserting, replacing, or removing symbols to | ||
alter what symbols are known to your interpreter. You can also access | ||
the :attr:`symtable` to retrieve results. | ||
|
||
.. attribute:: error | ||
|
||
a list of error information, filled on exceptions. You can test this | ||
after each call of the interpreter. It will be empty if the last | ||
execution was successful. If an error occurs, this will contain a liste | ||
of Exceptions raised. | ||
|
||
.. attribute:: error_msg | ||
|
||
the most recent error message. | ||
|
||
.. autofunction:: valid_symbol_name | ||
|
||
=================== | ||
asteval reference | ||
=================== | ||
The asteval module provides an :class:`Interpreter` class, which creates an | ||
interpreter. There is also a convenience function :func:`valid_symbol_name` | ||
.. _numpy: http://docs.scipy.org/doc/numpy | ||
.. module:: asteval | ||
.. class:: Interpreter(symtable=None[, writer=None[, use_numpy=True]]) | ||
create an asteval interpreter. | ||
:param symtable: a Symbol table (if ``None``, one will be created). | ||
:type symtable: ``None`` or dict. | ||
:param writer: callable file-like object where standard output will be sent. | ||
:type writer: file-like. | ||
:param use_numpy: whether to use functions from `numpy`_. | ||
:type use_numpy: boolean (``True`` / ``False``) | ||
The symbol table will be loaded with several built in functions, several | ||
functions from the :py:mod:`math` module and, if available and requested, | ||
several functions from `numpy`_. This will happen even for a symbol table | ||
explicitly provided. | ||
The ``writer`` argument can be used to provide a place to send all output | ||
that would normally go to :py:data:`sys.stdout`. The default is, of | ||
course, to send output to :py:data:`sys.stdout`. | ||
The ``use_numpy`` argument can be used to control whether functions from | ||
`numpy`_ are loaded into the symbol table. | ||
.. method:: eval(expression[, lineno=0[, show_errors=True]]) | ||
evaluate the expression, returning the result. | ||
:param expression: code to evaluate. | ||
:type expression: string | ||
:param lineno: line number (for error messages). | ||
:type lineno: int | ||
:param show_errors: whether to print error messages or leave them | ||
in the :attr:`errors` list. | ||
:type show_errors: bool | ||
.. method:: __call__(expression[, lineno=0[, show_errors=True]]) | ||
same as :meth:`eval`. That is one can do:: | ||
>>> from asteval import Interpreter | ||
>>> a = Interpreter() | ||
>>> a('x = 1') | ||
instead of:: | ||
>>> a.eval('x = 1') | ||
.. attribute:: symtable | ||
the symbol table. A dictionary with symbol names as keys, and object | ||
values (data and functions). | ||
For full control of the symbol table, you can simply access the | ||
:attr:`symtable` object, inserting, replacing, or removing symbols to | ||
alter what symbols are known to your interpreter. You can also access | ||
the :attr:`symtable` to retrieve results. | ||
.. attribute:: error | ||
a list of error information, filled on exceptions. You can test this | ||
after each call of the interpreter. It will be empty if the last | ||
execution was successful. If an error occurs, this will contain a liste | ||
of Exceptions raised. | ||
.. attribute:: error_msg | ||
the most recent error message. | ||
.. autofunction:: valid_symbol_name | ||
Oops, something went wrong.