Source-highlight Library
highlightstatebuilder.h
1 //
2 // Author: Lorenzo Bettini <http://www.lorenzobettini.it>, (C) 2004-2008
3 //
4 // Copyright: See COPYING file that comes with this distribution
5 //
6 
7 #ifndef HIGHLIGHTSTATEBUILDER_H_
8 #define HIGHLIGHTSTATEBUILDER_H_
9 
10 #include "highlightstate.h"
11 
12 namespace srchilite {
13 
14 class LangElems;
15 class HighlightRuleFactory;
16 
25 public:
26  HighlightStateBuilder(HighlightRuleFactory *_highlightRuleFactory);
27  virtual ~HighlightStateBuilder();
28 
36  void build(LangElems *elems, HighlightStatePtr mainState);
37 
39  branches build
40  void (LangElem *elem, HighlightState *state);
41  void (StringListLangElem *elem, HighlightState *state);
42  void (DelimitedLangElem *elem, HighlightState *state);
44  void (StateLangElem *elem, HighlightState *state);
45  endbranches
46 };
47 
48 }
49 
50 #endif /*HIGHLIGHTSTATEBUILDER_H_*/
Builds an HighlightState from the language definition file collected structures.
Definition: highlightstatebuilder.h:22
void build(LangElems *elems, HighlightStatePtr mainState)
Builds all the rules into the passed mainState as specified in the passed LangElems.
Definition: langelem.h:23
Definition: delimitedlangelem.h:31
collection of LangElem objects
Definition: langelems.h:33
HighlightRuleFactory * highlightRuleFactory
the factory for creating rules
Definition: highlightstatebuilder.h:24
A language element consisting of a list of strings.
Definition: stringlistlangelem.h:30
Represents a state during the highlighting (e.g., comment state, string state, etc.)
Definition: highlightstate.h:47
C++ class: doctemplate.h.
Definition: bufferedoutput.cpp:13
Abstract factory for highlighting rules.
Definition: highlightrulefactory.h:23
a language element that introduces a new state pattern Composite
Definition: statelangelem.h:37
boost::shared_ptr< HighlightState > HighlightStatePtr
the reference to an HighlightState
Definition: highlightstate.h:38
An element with subparts (subexpressions), each with a possible different name.
Definition: namedsubexpslangelem.h:38
branches build void(LangElem *elem, HighlightState *state)
the following is a multi-method that needs to be processed by doublecpp