From 2c0f2c74bea4f40acb03b0c7c85d9cfc35feff2d Mon Sep 17 00:00:00 2001 From: Chris Lattner Date: Wed, 6 Aug 2003 04:23:04 +0000 Subject: New common interface for backends to use git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@7625 91177308-0d34-0410-b5e6-96231b3b80d8 --- utils/TableGen/TableGenBackend.h | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) create mode 100644 utils/TableGen/TableGenBackend.h (limited to 'utils/TableGen/TableGenBackend.h') diff --git a/utils/TableGen/TableGenBackend.h b/utils/TableGen/TableGenBackend.h new file mode 100644 index 0000000000..b9e8c49d4c --- /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 -- cgit v1.2.3