diff options
author | sbrandt <sbrandt@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2014-02-18 17:56:10 +0000 |
---|---|---|
committer | sbrandt <sbrandt@17b73243-c579-4c4c-a9d2-2d5706c11dac> | 2014-02-18 17:56:10 +0000 |
commit | 375a3181eca67ade911daab563ff02cef15ddda4 (patch) | |
tree | 516108ec7b9072b790a9bbb66d25ec711827d321 /src/piraha/Lookup.cc | |
parent | 7bab271c2b988a8feb0e2aed226fbe563bdc674f (diff) |
Make it possible to parse very large paramter files and to do it quickly.
git-svn-id: http://svn.cactuscode.org/flesh/trunk@5086 17b73243-c579-4c4c-a9d2-2d5706c11dac
Diffstat (limited to 'src/piraha/Lookup.cc')
-rw-r--r-- | src/piraha/Lookup.cc | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/piraha/Lookup.cc b/src/piraha/Lookup.cc index a1cc457c..24f56871 100644 --- a/src/piraha/Lookup.cc +++ b/src/piraha/Lookup.cc @@ -13,8 +13,8 @@ bool Lookup::match(Matcher *m) { smart_ptr<Pattern> p = gram->patterns.get(name); if(!p.valid()) std::cout << "Lookup of pattern [" << name << "] failed. Jmap = " << gram->patterns << std::endl; assert(p.valid()); - vector<smart_ptr<Group> > chSave = m->children; - m->children.clear(); + smart_ptr<vector<smart_ptr<Group> > > chSave = m->children; + m->children = new vector<smart_ptr<Group> >(); int s = m->pos; std::string save_name = m->inrule; m->inrule += "::"; @@ -33,7 +33,7 @@ bool Lookup::match(Matcher *m) { */ smart_ptr<Group> g = new Group(name,m->input,s,e,m->children); if(capture) - chSave.push_back(g); + chSave->push_back(g); } m->children = chSave; return b; |