Auxillary functions¶
Module name: blackbird.auxiliary
This module contains a variety of auxiliary functions used by the main
blackbird.BlackbirdListener
.
Note that every auxiliary function in this module accepts a
blackbird.blackbirdParser
context as an argument.
Summary¶
|
Evaluate a blackbird expression. |
|
Apply a blackbird function to an Python argument. |
|
Parse blackbird positional and keyword arguments. |
|
Convert a non-numeric blackbird literal to a Python literal. |
|
Convert a blackbird number to a Python number. |
Mapping from the variable names in the Blackbird script, to their declared values. |
Code details¶
- _VAR = {}¶
Mapping from the variable names in the Blackbird script, to their declared values.
This dictionary is populated when parsing
blackbird.blackbirdParser.ExpressionvarContext
objects viablackbird.BlackbirdListener.exitExpressionvar
, and accessed when required by_expression()
.- Type
dict[str->[int, float, complex, str, bool, numpy.ndarray]]
- _PARAMS = []¶
list of free parameters in the Blackbird program
- Type
list[Symbol]
- _literal(nonnumeric)[source]¶
Convert a non-numeric blackbird literal to a Python literal.
- Parameters
nonnumeric (blackbirdParser.NonnumericContext) – nonnumeric context
- Returns
str or bool
- _number(number)[source]¶
Convert a blackbird number to a Python number.
- Parameters
number (blackbirdParser.NumberContext) – number context
- Returns
int or float or complex
- _func(function, arg)[source]¶
Apply a blackbird function to an Python argument.
- Parameters
function (blackbirdParser.FunctionContext) – function context
arg – expression
- Returns
int or float or complex
- _expression(expr)[source]¶
Evaluate a blackbird expression.
This is a recursive function, that continually calls itself until the full expression has been evaluated.
- Parameters
expr – expression
- Returns
int or float or complex or str or bool
- _get_arguments(arguments)[source]¶
Parse blackbird positional and keyword arguments.
In blackbird, all arguments occur between brackets (), and separated by commas. Positional arguments always come first, followed by keyword arguments of the form
name=value
.- Parameters
arguments (blackbirdParser.ArgumentsContext) – arguments
- Returns
tuple containing the list of positional arguments, followed by the dictionary of keyword arguments
- Return type
tuple[list, dict]