[llvm-commits] CVS: llvm/utils/TableGen/TableGenBackend.h TableGenBackend.cpp

Chris Lattner lattner at cs.uiuc.edu
Tue Aug 5 23:24:01 PDT 2003


Changes in directory llvm/utils/TableGen:

TableGenBackend.h added (r1.1)
TableGenBackend.cpp added (r1.1)

---
Log message:

New common interface for backends to use


---
Diffs of the changes:

Index: llvm/utils/TableGen/TableGenBackend.h
diff -c /dev/null llvm/utils/TableGen/TableGenBackend.h:1.1
*** /dev/null	Tue Aug  5 23:23:14 2003
--- llvm/utils/TableGen/TableGenBackend.h	Tue Aug  5 23:23:04 2003
***************
*** 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


Index: llvm/utils/TableGen/TableGenBackend.cpp
diff -c /dev/null llvm/utils/TableGen/TableGenBackend.cpp:1.1
*** /dev/null	Tue Aug  5 23:23:14 2003
--- llvm/utils/TableGen/TableGenBackend.cpp	Tue Aug  5 23:23:04 2003
***************
*** 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";
+ }
+ 





More information about the llvm-commits mailing list