diff options
| author | Patrick Simianer <p@simianer.de> | 2014-07-20 15:25:43 +0200 | 
|---|---|---|
| committer | Patrick Simianer <p@simianer.de> | 2014-07-20 15:25:43 +0200 | 
| commit | 41046f6ac02a1d947d656d033ecb53a249e7cc7e (patch) | |
| tree | c10bc1b555e7636e6f568e1926b01d111320d757 | |
| parent | 08e9a6f71c80fc7327d1758312b40bd5ba763dc9 (diff) | |
cleanup
| -rw-r--r-- | .gitignore | 5 | ||||
| -rw-r--r-- | fast/.gitignore | 5 | ||||
| -rw-r--r-- | fast/Makefile | 11 | ||||
| -rw-r--r-- | fast/hypergraph.cc | 16 | ||||
| -rw-r--r-- | fast/hypergraph.hh | 2 | ||||
| -rw-r--r-- | fast/main.cc | 7 | ||||
| -rw-r--r-- | util/Makefile | 14 | ||||
| -rw-r--r-- | util/json-cpp.hpp (renamed from fast/json-cpp.hpp) | 0 | ||||
| -rw-r--r-- | util/make_pak.cc (renamed from fast/make_paks.cc) | 18 | ||||
| -rw-r--r-- | util/read_pak.cc (renamed from fast/read_pak.cc) | 1 | 
10 files changed, 45 insertions, 34 deletions
diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..00b0e1a --- /dev/null +++ b/.gitignore @@ -0,0 +1,5 @@ +*.o +fast/example/ +fast/fast_weaver +util/make_pak +util/read_pak diff --git a/fast/.gitignore b/fast/.gitignore deleted file mode 100644 index c37a566..0000000 --- a/fast/.gitignore +++ /dev/null @@ -1,5 +0,0 @@ -fast_weaver -*.o -data -make_paks -read_pak diff --git a/fast/Makefile b/fast/Makefile index 55c4df7..2d2ba68 100644 --- a/fast/Makefile +++ b/fast/Makefile @@ -1,20 +1,15 @@  COMPILER=clang +  all: hypergraph.o main.cc  	$(COMPILER) -std=c++11 -lstdc++ -lm -lmsgpack hypergraph.o main.cc -o fast_weaver  hypergraph.o: hypergraph.cc hypergraph.hh grammar.o semiring.hh -	$(COMPILER) -g -std=c++11 -lmsgpack -c hypergraph.cc +	$(COMPILER) -g -std=c++11 -c hypergraph.cc  grammar.o: grammar.cc grammar.hh  	$(COMPILER) -g -std=c++11 -c grammar.cc -make_paks: make_paks.cc -	$(COMPILER) -std=c++11 -lstdc++ -lm -lmsgpack make_paks.cc -o make_paks - -read_pak: read_pak.cc -	$(COMPILER) -std=c++11 -lmsgpack read_pak.cc -o read_pak -  clean: -	rm -f fast_weaver hypergraph.o grammar.o make_paks read_pak +	rm -f fast_weaver hypergraph.o grammar.o diff --git a/fast/hypergraph.cc b/fast/hypergraph.cc index c3c587c..a01fb3e 100644 --- a/fast/hypergraph.cc +++ b/fast/hypergraph.cc @@ -74,9 +74,11 @@ topological_sort(list<Node*>& nodes, list<Node*>::iterator root)    auto to = nodes.begin();    while (to != nodes.end()) {      if ((**p).is_marked()) { +      cout << **p<< endl;        // explore edges        for (auto e = (**p).outgoing.begin(); e!=(**p).outgoing.end(); ++e) {          (**e).mark++; +        cout << " " << **e << endl;          if ((**e).is_marked()) {            (**e).head->mark++;          } @@ -88,10 +90,17 @@ topological_sort(list<Node*>& nodes, list<Node*>::iterator root)        p = to;      } else {        ++p; -      if (p == nodes.end()) { -        p = next(to); +      /*if (p == nodes.end()) { +        for (auto e = (**to).outgoing.begin(); e!=(**to).outgoing.end(); ++e) { +          // explore edges +          (**e).mark++; +          if ((**e).is_marked()) { +            (**e).head->mark++; +          } +        }          to = next(to); -      } +        p = to; +      }*/      }    }    cout << "---" << endl; @@ -151,6 +160,7 @@ read(Hypergraph& hg, string fn)          e->head = hg.nodes_by_id[e->head_id_];          hg.edges.push_back(e);          hg.nodes_by_id[e->head_id_]->incoming.push_back(e); +        e->arity = 0;          for (auto it = e->tails_ids_.begin(); it != e->tails_ids_.end(); ++it) {            hg.nodes_by_id[*it]->outgoing.push_back(e);            e->tails.push_back(hg.nodes_by_id[*it]); diff --git a/fast/hypergraph.hh b/fast/hypergraph.hh index 530fbe6..5a68742 100644 --- a/fast/hypergraph.hh +++ b/fast/hypergraph.hh @@ -32,7 +32,7 @@ struct Edge {             score_t score;              string rule; //FIXME         DummyVector f;    //FIXME -      unsigned int arity; +      unsigned int arity = 0;        unsigned int mark = 0;    inline bool is_marked() { return mark >= arity; } diff --git a/fast/main.cc b/fast/main.cc index 9c64976..2a8676b 100644 --- a/fast/main.cc +++ b/fast/main.cc @@ -5,14 +5,7 @@ int  main(int argc, char** argv)  {    Hg::Hypergraph hg; -  //Hg::io::manual(hg);    Hg::io::read(hg, argv[1]); -  /*cout << "---" << endl; -  for (auto it = hg.nodes.begin(); it!=hg.nodes.end(); it++) -    cout << **it << endl; -  for (auto it = hg.edges.begin(); it!=hg.edges.end(); it++) -    cout << **it << endl; -  cout << "---" << endl;*/    Hg::viterbi(hg);    return 0; diff --git a/util/Makefile b/util/Makefile new file mode 100644 index 0000000..08ead26 --- /dev/null +++ b/util/Makefile @@ -0,0 +1,14 @@ +COMPILER=clang + + +all: make_pak read_pak + +make_pak: make_pak.cc +	$(COMPILER) -std=c++11 -lstdc++ -lm -lmsgpack make_pak.cc -o make_pak + +read_pak: read_pak.cc +	$(COMPILER) -std=c++11 -lstdc++ -lmsgpack read_pak.cc -o read_pak + +clean: +	rm -f make_pak read_pak + diff --git a/fast/json-cpp.hpp b/util/json-cpp.hpp index 851a4f4..851a4f4 100644 --- a/fast/json-cpp.hpp +++ b/util/json-cpp.hpp diff --git a/fast/make_paks.cc b/util/make_pak.cc index c0fee90..f09c17d 100644 --- a/fast/make_paks.cc +++ b/util/make_pak.cc @@ -1,13 +1,12 @@  #include <iostream>  #include <fstream>  #include <string> -#include <unordered_map>  #include <msgpack.hpp>  #include <msgpack/fbuffer.hpp>  #include "json-cpp.hpp" -#include "dummyvector.h" -#include "hypergraph.hh" +#include "../fast/dummyvector.h" +#include "../fast/hypergraph.hh"  using namespace std; @@ -73,16 +72,16 @@ main(int argc, char** argv)    jsoncpp::parse(hg, json_str);    // convert objects -  vector<Hg::Node*> nodes_; +  vector<Hg::Node*> nodes_conv;    for (auto it = hg.nodes.begin(); it != hg.nodes.end(); ++it) {      Hg::Node* n = new Hg::Node;      n->id = it->id;      n->symbol = it->cat;      n->left = it->span[0];      n->right = it->span[1]; -    nodes_.push_back(n); +    nodes_conv.push_back(n);    } -  vector<Hg::Edge*> edges_; +  vector<Hg::Edge*> edges_conv;    for (auto it = hg.edges.begin(); it != hg.edges.end(); ++it) {      Hg::Edge* e = new Hg::Edge;      e->head_id_ = it->head; @@ -90,7 +89,7 @@ main(int argc, char** argv)      e->score = it->weight;      e->rule = it->rule;      e->f = it->f; -    edges_.push_back(e); +    edges_conv.push_back(e);    }    // write to msgpack @@ -98,11 +97,10 @@ main(int argc, char** argv)    msgpack::fbuffer fbuf(file);    msgpack::pack(fbuf, hg.nodes.size());    msgpack::pack(fbuf, hg.edges.size()); -  for (auto it = nodes_.begin(); it != nodes_.end(); ++it) +  for (auto it = nodes_conv.begin(); it != nodes_conv.end(); ++it)      msgpack::pack(fbuf, **it); -  for (auto it = edges_.begin(); it != edges_.end(); ++it) +  for (auto it = edges_conv.begin(); it != edges_conv.end(); ++it)      msgpack::pack(fbuf, **it); -    fclose(file);    return 0; diff --git a/fast/read_pak.cc b/util/read_pak.cc index c1cf761..d4bff91 100644 --- a/fast/read_pak.cc +++ b/util/read_pak.cc @@ -25,3 +25,4 @@ main(int argc, char** argv)    return 0;  } +  | 
