parameters: (self,name,expr)
return_statement: return expr
docstring: Declares a named expression
docstring_summary: Declares a named expression
docstring_tokens: Declares a named expression
function: def addExpr(self,name,expr):
          """Declares a named expression"""
          if name in self.variableDict:
              raise RuntimeError("Expression "+name+" conflicts with a variable")
          if name in self.expressions:
              raise RuntimeError("Expression "+name+" already exists")
          if name in self.customFunctions or name in _builtin_functions:
              raise RuntimeError("Expression "+name+" conflicts with a function")
          assert isinstance(name,str)
          assert isinstance(expr,Expression)
          self.expressions[name] = expr
          return expr
function_tokens: def addExpr ( self , name , expr ) : if name in self . variableDict : raise RuntimeError ( "Expression " + name + " conflicts with a variable" ) if name in self . expressions : raise RuntimeError ( "Expression " + name + " already exists" ) if name in self . customFunctions or name in _builtin_functions : raise RuntimeError ( "Expression " + name + " conflicts with a function" ) assert isinstance ( name , str ) assert isinstance ( expr , Expression ) self . expressions [ name ] = expr return expr