From 8cde489ab6c4169fb03d810447c18eea0d0eaa14 Mon Sep 17 00:00:00 2001 From: Alex Merry Date: Sat, 23 Mar 2013 03:30:19 +0000 Subject: Make the parser/lexer reentrant No more locking! Also, the interface for TikzGraphAssembler is much simpler. Changes to OSX code are completely untested. --- tikzit/src/common/TikzGraphAssembler+Parser.h | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) (limited to 'tikzit/src/common/TikzGraphAssembler+Parser.h') diff --git a/tikzit/src/common/TikzGraphAssembler+Parser.h b/tikzit/src/common/TikzGraphAssembler+Parser.h index 683e3e2..efceae9 100644 --- a/tikzit/src/common/TikzGraphAssembler+Parser.h +++ b/tikzit/src/common/TikzGraphAssembler+Parser.h @@ -25,9 +25,19 @@ #import "TikzGraphAssembler.h" @interface TikzGraphAssembler (Parser) +- (Graph*) graph; /** Store a node so that it can be looked up by name later */ -- (void)addNodeToMap:(Node*)n; -- (Node*)nodeWithName:(NSString*)name; +- (void) addNodeToMap:(Node*)n; +/** Get a previously-stored node by name */ +- (Node*) nodeWithName:(NSString*)name; +- (void) newLineStarted:(char *)text; +- (void) incrementPosBy:(size_t)amount; +- (void) invalidateWithError:(const char *)message; +- (void*) scanner; @end +#define YY_EXTRA_TYPE TikzGraphAssembler * +#define YYLEX_PARAM [assembler scanner] +void yyerror(TikzGraphAssembler *assembler, const char *str); + // vi:ft=objc:noet:ts=4:sts=4:sw=4 -- cgit v1.2.3