summaryrefslogtreecommitdiff
path: root/src/data/tikzparser.y
diff options
context:
space:
mode:
authorAleks Kissinger <aleks0@gmail.com>2018-01-26 22:34:15 +0900
committerAleks Kissinger <aleks0@gmail.com>2018-01-26 22:34:15 +0900
commit768e097abd17d07dd2748894b4dc1b09471dd6da (patch)
treec0b5a8774293d21ddace2c8afee8152bdd3a386c /src/data/tikzparser.y
parentd163561b49accb90dd9eb9028d9aa7c05266a539 (diff)
started implementing project loader
Diffstat (limited to 'src/data/tikzparser.y')
-rw-r--r--src/data/tikzparser.y15
1 files changed, 13 insertions, 2 deletions
diff --git a/src/data/tikzparser.y b/src/data/tikzparser.y
index aa6ac76..a4db3dd 100644
--- a/src/data/tikzparser.y
+++ b/src/data/tikzparser.y
@@ -62,7 +62,7 @@
#include "graphelementproperty.h"
#include "tikzlexer.h"
-#import "tikzgraphassembler.h"
+#import "tikzassembler.h"
/* the assembler (used by this parser) is stored in the lexer
state as "extra" data */
#define assembler yyget_extra(scanner)
@@ -127,9 +127,20 @@ void yyerror(YYLTYPE *yylloc, void *scanner, const char *str) {
%%
+
+tikz: tikzstyles | tikzpicture;
+
+tikzstyles: tikzstyles tikzstyle | ;
+tikzstyle: "\\tikzstyle" DELIMITEDSTRING "=" "[" properties "]"
+ {
+ if (assembler->isProject()) {
+ assembler->project()->addStyle(QString($2), $5);
+ }
+ }
+
tikzpicture: "\\begin{tikzpicture}" optproperties tikzcmds "\\end{tikzpicture}"
{
- if ($2) {
+ if (assembler->isGraph() && $2) {
assembler->graph()->setData($2);
}
};