summaryrefslogtreecommitdiff
path: root/tikzit/src/data/tikzgraphassembler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tikzit/src/data/tikzgraphassembler.cpp')
-rw-r--r--tikzit/src/data/tikzgraphassembler.cpp21
1 files changed, 19 insertions, 2 deletions
diff --git a/tikzit/src/data/tikzgraphassembler.cpp b/tikzit/src/data/tikzgraphassembler.cpp
index d8e3963..c05a5c8 100644
--- a/tikzit/src/data/tikzgraphassembler.cpp
+++ b/tikzit/src/data/tikzgraphassembler.cpp
@@ -1,14 +1,31 @@
#include "tikzgraphassembler.h"
+#include "tikzparserdefs.h"
+#include "tikzparser.parser.hpp"
+#include "tikzlexer.h"
+
+int yyparse(void *scanner);
+
+
TikzGraphAssembler::TikzGraphAssembler(Graph *graph, QObject *parent) :
- _graph(graph), QObject(parent)
+ QObject(parent), _graph(graph)
{
-
+ yylex_init(&scanner);
+ yyset_extra(this, scanner);
}
void TikzGraphAssembler::addNodeToMap(Node *n) { _nodeMap.insert(n->name(), n); }
Node *TikzGraphAssembler::nodeWithName(QString name) { return _nodeMap[name]; }
+bool TikzGraphAssembler::parse(const QString &tikz)
+{
+ yy_scan_string(tikz.toLatin1().data(), scanner);
+ int result = yyparse(scanner);
+
+ if (result == 0) return true;
+ else return false;
+}
+
Graph *TikzGraphAssembler::graph() const
{
return _graph;