Parser.cpp File Reference

#include "expr/Parser.h"
#include "expr/Lexer.h"
#include "klee/Constraints.h"
#include "klee/Solver.h"
#include "klee/util/ExprPPrinter.h"
#include "llvm/ADT/APInt.h"
#include "llvm/Support/MemoryBuffer.h"
#include "llvm/Support/Streams.h"
#include <cassert>
#include <iostream>
#include <map>
#include <cstring>

Include dependency graph for Parser.cpp:

Go to the source code of this file.

Defines

#define SetOK(kind, isfixed, numargs)

Enumerations

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

Functions

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


Define Documentation

#define SetOK ( kind,
isfixed,
numargs   ) 

Value:

(Kind=kind, IsFixed=isfixed,\
                                       NumArgs=numargs, true)

Referenced by LookupExprInfo().


Enumeration Type Documentation

enum MacroKind

Enumerator:
eMacroKind_Not 
eMacroKind_Neg 
eMacroKind_ReadLSB 
eMacroKind_ReadMSB 
eMacroKind_Concat 
eMacroKind_LastMacroKind 

Definition at line 589 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 608 of file Parser.cpp.

References klee::Expr::Add, klee::Expr::And, klee::Expr::AShr, eMacroKind_Concat, eMacroKind_Neg, eMacroKind_Not, eMacroKind_ReadLSB, eMacroKind_ReadMSB, klee::Expr::Eq, klee::Expr::Extract, klee::expr::Token::Identifier, klee::expr::Token::kind, klee::expr::Token::length, klee::Expr::LShr, klee::Expr::Mul, klee::Expr::Ne, klee::Expr::Or, klee::Expr::Read, klee::Expr::SDiv, klee::Expr::Select, SetOK, klee::Expr::SExt, klee::Expr::Sge, klee::Expr::Sgt, klee::Expr::Shl, klee::Expr::Sle, klee::Expr::Slt, klee::Expr::SRem, klee::expr::Token::start, klee::Expr::Sub, klee::Expr::UDiv, klee::Expr::Uge, klee::Expr::Ugt, klee::Expr::Ule, klee::Expr::Ult, klee::Expr::URem, klee::Expr::Xor, and klee::Expr::ZExt.


Generated on Fri Jun 5 03:31:50 2009 for klee by  doxygen 1.5.8