From: Chris Lattner Date: Wed, 6 Aug 2003 04:23:04 +0000 (+0000) Subject: New common interface for backends to use X-Git-Url: http://demsky.eecs.uci.edu/git/?a=commitdiff_plain;h=2c0f2c74bea4f40acb03b0c7c85d9cfc35feff2d;p=oota-llvm.git New common interface for backends to use git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7625 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/support/tools/TableGen/TableGenBackend.cpp b/support/tools/TableGen/TableGenBackend.cpp new file mode 100644 index 00000000000..f00c6eedb74 --- /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 + +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 00000000000..b9e8c49d4c5 --- /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 +#include + +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 diff --git a/utils/TableGen/TableGenBackend.cpp b/utils/TableGen/TableGenBackend.cpp new file mode 100644 index 00000000000..f00c6eedb74 --- /dev/null +++ b/utils/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 + +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/utils/TableGen/TableGenBackend.h b/utils/TableGen/TableGenBackend.h new file mode 100644 index 00000000000..b9e8c49d4c5 --- /dev/null +++ b/utils/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 +#include + +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