diff options
| author | Douglas Gregor <dgregor@apple.com> | 2012-05-02 17:32:48 +0000 |
|---|---|---|
| committer | Douglas Gregor <dgregor@apple.com> | 2012-05-02 17:32:48 +0000 |
| commit | 12c1cd33f426980e54ce6c59dc834acb6acd1779 (patch) | |
| tree | a1dd492afdf89d29e20628f2dbf9f0c1ee0d1097 /llvm/utils/TableGen/StringMatcher.h | |
| parent | 19fbb8fa81f7ad11a2d9892bdc9ac0a3fefa90bd (diff) | |
| download | bcm5719-llvm-12c1cd33f426980e54ce6c59dc834acb6acd1779.tar.gz bcm5719-llvm-12c1cd33f426980e54ce6c59dc834acb6acd1779.zip | |
Move llvm-tblgen's StringMatcher into the TableGen library so it can
be used by clang-tblgen.
llvm-svn: 156000
Diffstat (limited to 'llvm/utils/TableGen/StringMatcher.h')
| -rw-r--r-- | llvm/utils/TableGen/StringMatcher.h | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/llvm/utils/TableGen/StringMatcher.h b/llvm/utils/TableGen/StringMatcher.h deleted file mode 100644 index 1dadc76200b..00000000000 --- a/llvm/utils/TableGen/StringMatcher.h +++ /dev/null @@ -1,54 +0,0 @@ -//===- StringMatcher.h - Generate a matcher for input strings ---*- C++ -*-===// -// -// The LLVM Compiler Infrastructure -// -// This file is distributed under the University of Illinois Open Source -// License. See LICENSE.TXT for details. -// -//===----------------------------------------------------------------------===// -// -// This file implements the StringMatcher class. -// -//===----------------------------------------------------------------------===// - -#ifndef STRINGMATCHER_H -#define STRINGMATCHER_H - -#include <vector> -#include <string> -#include <utility> -#include "llvm/ADT/StringRef.h" - -namespace llvm { - class raw_ostream; - -/// StringMatcher - Given a list of strings and code to execute when they match, -/// output a simple switch tree to classify the input string. -/// -/// If a match is found, the code in Vals[i].second is executed; control must -/// not exit this code fragment. If nothing matches, execution falls through. -/// -class StringMatcher { -public: - typedef std::pair<std::string, std::string> StringPair; -private: - StringRef StrVariableName; - const std::vector<StringPair> &Matches; - raw_ostream &OS; - -public: - StringMatcher(StringRef strVariableName, - const std::vector<StringPair> &matches, raw_ostream &os) - : StrVariableName(strVariableName), Matches(matches), OS(os) {} - - void Emit(unsigned Indent = 0) const; - - -private: - bool EmitStringMatcherForChar(const std::vector<const StringPair*> &Matches, - unsigned CharNo, unsigned IndentCount) const; -}; - -} // end llvm namespace. - -#endif |

