| /* translation of file(s) |
| "abs.k" |
| "main.k" |
| "parse.k" |
| "error.k" |
| "occur.k" |
| "util.k" |
| "gen.k" |
| "gutil.k" |
| "pat.k" |
| */ |
| /* generated by: |
| * @(#)$Author$ |
| */ |
| #ifndef KC_REWRITE_HEADER |
| #define KC_REWRITE_HEADER |
| |
| namespace kc { } |
| using namespace kc; |
| /* included stuff */ |
| // |
| // The Termprocessor Kimwitu++ |
| // |
| // Copyright (C) 1991 University of Twente, Dept TIOS. |
| // Copyright (C) 1998-2003 Humboldt-University of Berlin, Institute of Informatics |
| // All rights reserved. |
| // |
| // Kimwitu++ is free software; you can redistribute it and/or modify |
| // it under the terms of the GNU General Public License as published by |
| // the Free Software Foundation; either version 2 of the License, or |
| // (at your option) any later version. |
| // |
| // Kimwitu++ is distributed in the hope that it will be useful, |
| // but WITHOUT ANY WARRANTY; without even the implied warranty of |
| // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| // GNU General Public License for more details. |
| // |
| // You should have received a copy of the GNU General Public License |
| // along with Kimwitu++; if not, write to the Free Software |
| // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |
| // |
| |
| /* end included stuff */ |
| |
| |
| namespace kc { |
| |
| typedef enum { |
| base_rview_enum, |
| last_rview |
| } rview_enum; |
| |
| struct impl_rviews { |
| const char *name; |
| rview_class *view; |
| }; |
| extern struct impl_rviews rviews[]; |
| class rview_class { |
| protected: |
| // only used in derivations |
| rview_class(rview_enum v): m_view(v) { } |
| rview_class(const rview_class&): m_view(base_rview_enum) |
| { /* do not copy m_view */ } |
| public: |
| const char* name() const |
| { return rviews[m_view].name; } |
| operator rview_enum() const |
| { return m_view; } |
| bool operator==(const rview_class& other) const |
| { return m_view == other.m_view; } |
| private: |
| rview_enum m_view; |
| }; |
| |
| /* Use rviews instead |
| extern char *kc_rview_names[]; |
| */ |
| struct base_rview_class: rview_class { |
| base_rview_class():rview_class(base_rview_enum){} |
| }; |
| extern base_rview_class base_rview; |
| |
| } // namespace kc |
| #endif // KC_REWRITE_HEADER |