~ubuntu-branches/ubuntu/quantal/aspectc++/quantal

« back to all changes in this revision

Viewing changes to Puma/gen-release/step1/inc/Puma/CRecognizer.h

  • Committer: Bazaar Package Importer
  • Author(s): Reinhard Tartler
  • Date: 2008-04-10 17:40:52 UTC
  • mfrom: (1.1.2 upstream)
  • Revision ID: james.westby@ubuntu.com-20080410174052-xdnsm7oi8hauyyf1
Tags: 1.0pre4~svn.20080409+dfsg-3
Fix another missing include, this time in Ag++/StdSystem.cc

Show diffs side-by-side

added added

removed removed

Lines of Context:
28
28
 
29
29
 
30
30
class CRecognizer {
31
 
  CScanBuffer scan_buffer;
32
31
  CCommentRecognizer comment_recognizer;
33
32
  Array<KeywordRecognizer*> additional_keyword_recognizers;
34
33
 
35
34
public:
 
35
  CScanBuffer scan_buffer; // TODO: temporarily made public!
 
36
 
36
37
  typedef enum { NORMAL, IN_COMP_DIR, IN_PRE_DIR } Mode;
37
 
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, STRING, CORE, 
 
38
  typedef enum { COMMENT, PRE_DIR, COMP_DIR, WHITE, PRE, CORE, 
38
39
                 KEYWORD, ID, WILDCARD, UNKNOWN } Lang;
39
40
 
40
 
  CRecognizer () : wildcards (false), aspectc (false), macro_ops (false),
 
41
  CRecognizer () : directives(true), wildcards (false),
 
42
    aspectc (false), macro_ops (false),
41
43
    std_c (true), std_cplusplus (true) {}
42
 
  CRecognizer (ScanBuffer& buffer) : wildcards (false), aspectc (false),
43
 
    macro_ops (false) { setup (buffer); }
 
44
  void allow_directives (bool flag = true)    { directives = flag; }
44
45
  void allow_wildcards (bool flag = true)     { wildcards = flag; }
45
46
  void allow_aspectc (bool flag = true)       { aspectc   = flag; } 
46
47
  void allow_macro_ops (bool flag = true)     { macro_ops = flag; }
47
48
  void allow_std_c (bool flag = true)         { std_c = flag; }
48
49
  void allow_std_cplusplus (bool flag = true) { std_cplusplus = flag; }
49
 
  void setup (ScanBuffer &buffer);
 
50
  void setup ();
50
51
  int recognize (Lang &lang, int &expr, int &len);
51
 
  Mode mode () { return scan_mode; }
52
 
  bool new_line () const { return scan_buffer.new_line (); }
 
52
  Mode mode () const { return scan_mode; }
 
53
  void mode (Mode mode) { scan_mode = mode; }
53
54
  CScanBuffer& buffer () { return scan_buffer; }
54
55
  void addRecognizer(KeywordRecognizer &recognizer) 
55
56
   { additional_keyword_recognizers.append(&recognizer); }
56
57
 
57
58
private:
58
 
  static MappedOrangeRecognizer<CScanBuffer> string_recognizer;   
59
59
  static MappedOrangeRecognizer<CScanBuffer> pre_dir_recognizer;
60
60
  static MappedOrangeRecognizer<CScanBuffer> pre_token_recognizer;
61
61
  static OrangeRecognizer<CScanBuffer> dir_recognizer;
62
 
  static MappedOrangeRecognizer<CScanBuffer> whitespace_recognizer;
63
62
  static MappedOrangeRecognizer<CScanBuffer> wildcard_recognizer;
64
63
  static MappedOrangeRecognizer<CScanBuffer> core_recognizer;
65
64
  static MappedOrangeRecognizer<CScanBuffer> identifier_recognizer;
66
65
 
67
66
  Mode scan_mode;
68
 
  bool check_directive;
 
67
  bool directives;
69
68
  bool wildcards;
70
69
  bool aspectc;
71
70
  bool macro_ops;