diff options
Diffstat (limited to 'support/tools')
-rw-r--r-- | support/tools/TableGen/TableGenBackend.cpp | 17 | ||||
-rw-r--r-- | support/tools/TableGen/TableGenBackend.h | 26 |
2 files changed, 43 insertions, 0 deletions
diff --git a/support/tools/TableGen/TableGenBackend.cpp b/support/tools/TableGen/TableGenBackend.cpp new file mode 100644 index 0000000..f00c6ee --- /dev/null +++ b/support/tools/TableGen/TableGenBackend.cpp @@ -0,0 +1,17 @@ +//===- TableGenBackend.cpp - Base class for TableGen Backends ---*- C++ -*-===// +// +// This file provides useful services for TableGen backends... +// +//===----------------------------------------------------------------------===// + +#include "TableGenBackend.h" +#include <iostream> + +void TableGenBackend::EmitSourceFileHeader(const std::string &Desc, + std::ostream &OS) { + OS << "//===- TableGen'erated file -------------------------------------*-" + " C++ -*-===//\n//\n// " << Desc << "\n//\n// Automatically generate" + "d file, do not edit!\n//\n//===------------------------------------" + "----------------------------------===//\n\n"; +} + diff --git a/support/tools/TableGen/TableGenBackend.h b/support/tools/TableGen/TableGenBackend.h new file mode 100644 index 0000000..b9e8c49 --- /dev/null +++ b/support/tools/TableGen/TableGenBackend.h @@ -0,0 +1,26 @@ +//===- TableGenBackend.h - Base class for TableGen Backends -----*- C++ -*-===// +// +// The TableGenBackend class is provided as a common interface for all TableGen +// backends. It provides useful services and an standardized interface. +// +//===----------------------------------------------------------------------===// + +#ifndef TABLEGENBACKEND_H +#define TABLEGENBACKEND_H + +#include <string> +#include <iosfwd> + +struct TableGenBackend { + + // run - All TableGen backends should implement the run method, which should + // be the main entry point. + virtual void run(std::ostream &OS) = 0; + + +public: // Useful helper routines... + void EmitSourceFileHeader(const std::string &Desc, std::ostream &OS) const; + +}; + +#endif |