src/compiler/compiler.cpp
/*!
 * \fn std::shared_ptr<program::Expression> compile(const std::string & cmmd, const Context & con)
 * \brief Compiles an expression within a context
 * Throws CompilationFailure if the compilation fails
 */
\fn std::shared_ptr compile(const std::string & cmmd, const Context & con)
\brief Compiles an expression within a context
Throws CompilationFailure if the compilation fails
\ fn std :: shared_ptr compile ( const std :: string & cmmd const Context & con ) \ brief Compiles an expression within a context Throws CompilationFailure if the compilation fails
std::shared_ptr<program::Expression> Compiler::compile(const std::string & cmmd, const Context & con)
{
  SessionManager manager{ this };
  CommandCompiler cc{ this };
  auto result = cc.compile(cmmd, con);
  if (manager.started_session())
  {
    finalizeSession();
  }
  return result;
}
std :: shared_ptr < program :: Expression > Compiler :: compile ( const std :: string & cmmd , const Context & con ) { SessionManager manager { this } ; CommandCompiler cc { this } ; auto result = cc . compile ( cmmd , con ) ; if ( manager . started_session ( ) ) { finalizeSession ( ) ; } return result ; }
\fn std::shared_ptr<program::Expression> compile(const std::string & cmmd, const Context & con)
 \brief Compiles an expression within a context
 Throws CompilationFailure if the compilation fails
\ fn std :: shared_ptr<program :: Expression > compile ( const std :: string & cmmd const Context & con ) \ brief Compiles an expression within a context Throws CompilationFailure if the compilation fails