Cadabra
Computer algebra system for field theory problems
Loading...
Searching...
No Matches
Classes | Namespaces | Functions
CdbPython.hh File Reference
#include <string>
#include <set>
#include <pybind11/pybind11.h>

Go to the source code of this file.

Classes

class  cadabra::ConvertData
 Object to store pre-parsing intermediate results. More...
 

Namespaces

namespace  cadabra
 Functions to handle the exchange properties of two or more symbols in a product.
 

Functions

std::string cadabra::escape_quotes (const std::string &)
 
std::string cadabra::cdb2python (const std::string &, bool display)
 Convert a block of Cadabra notation into pure Python.
 
std::string cadabra::cdb2python_string (const std::string &, bool display, std::string &error)
 
int cadabra::is_python_code_complete (const std::string &, std::string &error)
 Test whether a block of Python code is complete or requires more input lines.
 
bool cadabra::code_contains_variable (const std::string &code, const std::string &variable)
 Determine if the python code code contains a reference to the variable variable by parsing it into an AST.
 
bool cadabra::variables_in_code (const std::string &code, std::set< std::string > &variables)
 Fill a set with all variables references in the given piece of Python code.
 
bool cadabra::variables_to_pull_in (const std::string &code, std::set< std::string > &variables)
 Fill a set with all variables references inside of Cadabra pull-in constructions, that is, constructions of the form "@(var)".
 
std::string cadabra::remove_variable_assignments (const std::string &code, const std::string &variable)
 Given a piece of Python code, remove all lines which assign a value to the given variable.
 
std::pair< std::string, std::string > cadabra::convert_line (const std::string &, ConvertData &cv, bool display)
 Detect Cadabra expression statements and rewrite to Python form.
 
std::string cadabra::cnb2python (const std::string &, bool for_standalone)
 Convert a Cadabra notebook file to pure Python.