X-Git-Url: https://ginac.de/ginac.git//ginac.git?a=blobdiff_plain;f=ginac%2Fparser%2Fparse_context.cpp;h=2c51ad4bef0e0b25e3fbf686dc8c46dacb0dbcf7;hb=55a08d9cb9005bb10def92d5e8f5a816003da16b;hp=1b1d38f7979cc160de030c244887c11f05a9163e;hpb=95ede03f00106be5fb087d76c86ca5c27edb9122;p=ginac.git diff --git a/ginac/parser/parse_context.cpp b/ginac/parser/parse_context.cpp index 1b1d38f7..2c51ad4b 100644 --- a/ginac/parser/parse_context.cpp +++ b/ginac/parser/parse_context.cpp @@ -3,7 +3,7 @@ * Implementation of the parser context. */ /* - * GiNaC Copyright (C) 1999-2010 Johannes Gutenberg University Mainz, Germany + * GiNaC Copyright (C) 1999-2014 Johannes Gutenberg University Mainz, Germany * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -22,26 +22,17 @@ #include "parse_context.h" -#include "function.h" - #include #include namespace GiNaC { -symbol +ex find_or_insert_symbol(const std::string& name, symtab& syms, const bool strict) { symtab::const_iterator p = syms.find(name); - if (p != syms.end()) { - if (is_a(p->second)) - return ex_to(p->second); - else - throw std::invalid_argument( - std::string("find_or_insert_symbol: name \"") - + name + "\" does not correspond to a symbol"); - } - + if (p != syms.end()) + return p->second; if (strict) throw std::invalid_argument( @@ -53,22 +44,4 @@ find_or_insert_symbol(const std::string& name, symtab& syms, const bool strict) return sy; } -const prototype_table& get_default_reader(bool force_init) -{ - using std::make_pair; - static bool initialized = false; - static prototype_table reader; - if ( !initialized || force_init ) { - std::vector flist = function::get_registered_functions(); - std::vector::iterator i = flist.begin(), end = flist.end(); - for ( ; i != end; ++i ) { - std::string name = i->get_name(); - unsigned narg = i->get_nparams(); - reader[make_pair(name, narg)] = function::find_function(name, narg); - } - initialized = true; - } - return reader; -} - } // namespace GiNaC