zenilib  0.5.3.0
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
DirectiveParser.cpp File Reference
#include "DirectiveParser.h"
#include <cassert>
#include <cstdlib>
#include <sstream>
#include "DiagnosticsBase.h"
#include "DirectiveHandlerBase.h"
#include "ExpressionParser.h"
#include "MacroExpander.h"
#include "Token.h"
#include "Tokenizer.h"

Go to the source code of this file.

Namespaces

 pp
 

Enumerations

enum  DirectiveType
 

Functions

static DirectiveType getDirective (const pp::Token *token)
 
static bool isConditionalDirective (DirectiveType directive)
 
static bool isEOD (const pp::Token *token)
 
static bool isMacroNameReserved (const std::string &name)
 
static bool isMacroPredefined (const std::string &name, const pp::MacroSet &macroSet)
 
static void skipUntilEOD (pp::Lexer *lexer, pp::Token *token)
 

Enumeration Type Documentation

Definition at line 21 of file DirectiveParser.cpp.

Function Documentation

static DirectiveType getDirective ( const pp::Token token)
static

Definition at line 40 of file DirectiveParser.cpp.

References pp::Token::IDENTIFIER, pp::Token::text, and pp::Token::type.

static bool isConditionalDirective ( DirectiveType  directive)
static

Definition at line 89 of file DirectiveParser.cpp.

static bool isEOD ( const pp::Token token)
static

Definition at line 106 of file DirectiveParser.cpp.

References pp::Token::LAST, and pp::Token::type.

Referenced by skipUntilEOD().

static bool isMacroNameReserved ( const std::string name)
static

Definition at line 119 of file DirectiveParser.cpp.

static bool isMacroPredefined ( const std::string name,
const pp::MacroSet macroSet 
)
static

Definition at line 132 of file DirectiveParser.cpp.

static void skipUntilEOD ( pp::Lexer lexer,
pp::Token token 
)
static

Definition at line 111 of file DirectiveParser.cpp.

References isEOD(), and pp::Lexer::lex().