1 /* This file is part of Shapes.
3 * Shapes is free software: you can redistribute it and/or modify
4 * it under the terms of the GNU General Public License as published by
5 * the Free Software Foundation, either version 3 of the License, or
8 * Shapes is distributed in the hope that it will be useful,
9 * but WITHOUT ANY WARRANTY; without even the implied warranty of
10 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
11 * GNU General Public License for more details.
13 * You should have received a copy of the GNU General Public License
14 * along with Shapes. If not, see <http://www.gnu.org/licenses/>.
16 * Copyright 2008 Henrik Tidefelt
24 #ifndef FLEXINT_H // Else *FlexLexer will be defined twice
26 # define yyFlexLexer texFlexLexer
27 # include <FlexLexer.h>
30 class TeXScanner
: public texFlexLexer
33 typedef enum { BRACE
= 0, BRACKET
, BEGIN_END
} Delimiter
;
34 typedef int UnionType
;
37 std::vector
< Delimiter
> delimStack
;
43 void check( const std::string
& str
);
46 const char * opening( Delimiter delim
) const;
47 const char * closing( Delimiter delim
) const;