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 | f657da2e4896732f306a9e62261418112e7337ce (patch) | |
| tree | f725d5ee21bbb226c436094c3af4df7bc3679ff5 /utils/TableGen/StringMatcher.h | |
| parent | 8ed9951c3a2c19d8374946c83f51c1b018b8897f (diff) | |
Move llvm-tblgen's StringMatcher into the TableGen library so it can
be used by clang-tblgen.
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@156000 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'utils/TableGen/StringMatcher.h')
| -rw-r--r-- | utils/TableGen/StringMatcher.h | 54 |
1 files changed, 0 insertions, 54 deletions
diff --git a/utils/TableGen/StringMatcher.h b/utils/TableGen/StringMatcher.h deleted file mode 100644 index 1dadc76200..0000000000 --- a/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 |
