From d9ec25d1bcea4e45d1965e95bb3099c3864e04a0 Mon Sep 17 00:00:00 2001 From: Aleks Kissinger Date: Sun, 12 Apr 2020 16:43:44 +0100 Subject: parsing and outputting complex paths --- src/data/tikzparser.y | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/data/tikzparser.y') diff --git a/src/data/tikzparser.y b/src/data/tikzparser.y index 895f75d..1e7b8cc 100644 --- a/src/data/tikzparser.y +++ b/src/data/tikzparser.y @@ -96,6 +96,7 @@ void yyerror(YYLTYPE *yylloc, void * /*scanner*/, const char *str) { %token NODE "node" %token AT "at" %token TO "to" +%token CYCLE "cycle" %token SEMICOLON ";" %token COMMA "," @@ -252,8 +253,8 @@ edgetarget: "to" optproperties optedgenode optnoderef { if ($4.loop) { t = assembler->currentEdgeSource(); } else if ($4.cycle) { - // TODO: should be source of first edge in path - t = assembler->currentEdgeSource(); + t = assembler->currentPathSource(); + if (!t) t = s; } else { t = $4.node; } @@ -285,7 +286,7 @@ edgetarget: "to" optproperties optedgenode optnoderef { if (cd) e->setData(cd->copy()); } e->setAttributesFromData(); - assembler->graph()->addEdge(e); + assembler->addEdge(e); } } -- cgit v1.2.3