zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DirectiveHandlerBase.h
Go to the documentation of this file.
1 //
2 // Copyright (c) 2012 The ANGLE Project Authors. All rights reserved.
3 // Use of this source code is governed by a BSD-style license that can be
4 // found in the LICENSE file.
5 //
6 
7 #ifndef COMPILER_PREPROCESSOR_DIRECTIVE_HANDLER_H_
8 #define COMPILER_PREPROCESSOR_DIRECTIVE_HANDLER_H_
9 
10 #include <string>
11 
12 namespace pp
13 {
14 
15 struct SourceLocation;
16 
17 // Base class for handling directives.
18 // Preprocessor uses this class to notify the clients about certain
19 // preprocessor directives. Derived classes are responsible for
20 // handling them in an appropriate manner.
22 {
23  public:
24  virtual ~DirectiveHandler();
25 
26  virtual void handleError(const SourceLocation& loc,
27  const std::string& msg) = 0;
28 
29  // Handle pragma of form: #pragma name[(value)]
30  virtual void handlePragma(const SourceLocation& loc,
31  const std::string& name,
32  const std::string& value) = 0;
33 
34  virtual void handleExtension(const SourceLocation& loc,
35  const std::string& name,
36  const std::string& behavior) = 0;
37 
38  virtual void handleVersion(const SourceLocation& loc,
39  int version) = 0;
40 };
41 
42 } // namespace pp
43 #endif // COMPILER_PREPROCESSOR_DIRECTIVE_HANDLER_H_
virtual void handleError(const SourceLocation &loc, const std::string &msg)=0
virtual void handleExtension(const SourceLocation &loc, const std::string &name, const std::string &behavior)=0
png_sPLT_entryp pp
Definition: pngrutil.c:1375
int const char * version
Definition: zlib.h:813
virtual void handleVersion(const SourceLocation &loc, int version)=0
EGLImageKHR EGLint * name
Definition: eglext.h:284
EGLSurface EGLint void ** value
Definition: eglext.h:301
GLsizei const GLcharARB ** string
Definition: glew.h:5638
virtual void handlePragma(const SourceLocation &loc, const std::string &name, const std::string &value)=0