diff options
author | Chris Lattner <sabre@nondot.org> | 2003-08-06 04:23:04 +0000 |
---|---|---|
committer | Chris Lattner <sabre@nondot.org> | 2003-08-06 04:23:04 +0000 |
commit | 2c0f2c74bea4f40acb03b0c7c85d9cfc35feff2d (patch) | |
tree | b67a24d2db3ec75a2750aff03e8358e501f1750e /support/tools/TableGen | |
parent | c961a2923bb48c1bb2e2584c29c37c278f0f62eb (diff) | |
download | external_llvm-2c0f2c74bea4f40acb03b0c7c85d9cfc35feff2d.zip external_llvm-2c0f2c74bea4f40acb03b0c7c85d9cfc35feff2d.tar.gz external_llvm-2c0f2c74bea4f40acb03b0c7c85d9cfc35feff2d.tar.bz2 |
New common interface for backends to use
git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7625 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'support/tools/TableGen')
-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 |