klee
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Parser.cpp File Reference
#include "expr/Parser.h"
#include "expr/Lexer.h"
#include "klee/Config/Version.h"
#include "klee/Constraints.h"
#include "klee/ExprBuilder.h"
#include "klee/Solver.h"
#include "klee/util/ExprPPrinter.h"
#include "llvm/ADT/APInt.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/raw_ostream.h"
#include <cassert>
#include <map>
#include <cstring>
Include dependency graph for Parser.cpp:

Go to the source code of this file.

Macros

#define SetOK(kind, isfixed, numargs)
 

Enumerations

enum  MacroKind {
  eMacroKind_ReadLSB = Expr::LastKind + 1, eMacroKind_ReadMSB, eMacroKind_Neg, eMacroKind_Concat,
  eMacroKind_LastMacroKind = eMacroKind_Concat
}
 

Functions

static bool LookupExprInfo (const Token &Tok, unsigned &Kind, bool &IsFixed, int &NumArgs)
 

Macro Definition Documentation

#define SetOK (   kind,
  isfixed,
  numargs 
)
Value:
(Kind=kind, IsFixed=isfixed,\
NumArgs=numargs, true)

Referenced by LookupExprInfo().

Enumeration Type Documentation

enum MacroKind
Enumerator
eMacroKind_ReadLSB 
eMacroKind_ReadMSB 
eMacroKind_Neg 
eMacroKind_Concat 
eMacroKind_LastMacroKind 

Definition at line 778 of file Parser.cpp.

Function Documentation

static bool LookupExprInfo ( const Token Tok,
unsigned &  Kind,
bool &  IsFixed,
int &  NumArgs 
)
static

LookupExprInfo - Return information on the named token, if it is recognized.

Parameters
Kind[out] - The Expr::Kind or MacroKind of the identifier.
IsFixed[out] - True if the given kinds result and (expression) arguments are all of the same width.
NumArgs[out] - The number of expression arguments for this kind. -1 indicates the kind is variadic or has non-expression arguments.
Returns
True if the token is a valid kind or macro name.

Definition at line 796 of file Parser.cpp.

References eMacroKind_Concat, eMacroKind_ReadLSB, eMacroKind_ReadMSB, klee::expr::Token::kind, klee::expr::Token::length, SetOK, and klee::expr::Token::start.