#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>

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 SetOK | ( | kind, | |||
| isfixed, | |||||
| numargs | ) |
| enum MacroKind |
| eMacroKind_Not | |
| eMacroKind_Neg | |
| eMacroKind_ReadLSB | |
| eMacroKind_ReadMSB | |
| eMacroKind_Concat | |
| eMacroKind_LastMacroKind |
Definition at line 589 of file Parser.cpp.
| static bool LookupExprInfo | ( | const Token & | Tok, | |
| unsigned & | Kind, | |||
| bool & | IsFixed, | |||
| int & | NumArgs | |||
| ) | [static] |
LookupExprInfo - Return information on the named token, if it is recognized.
| 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. |
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.
1.5.8