Index: .gitignore
===================================================================
--- .gitignore	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ .gitignore	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -48,4 +48,5 @@
 tools/prettyprinter/parser.cc
 tools/prettyprinter/parser.h
+tools/prettyprinter/parser.hh
 tools/prettyprinter/pretty
 tools/pretty
Index: tools/prettyprinter/Makefile.am
===================================================================
--- tools/prettyprinter/Makefile.am	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/Makefile.am	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -15,5 +15,5 @@
 ###############################################################################
 
-BUILT_SOURCES = parser.h
+BUILT_SOURCES = parser.hh
 
 AM_YFLAGS = -d -t -v
Index: tools/prettyprinter/Makefile.in
===================================================================
--- tools/prettyprinter/Makefile.in	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/Makefile.in	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -323,5 +323,5 @@
 top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
-BUILT_SOURCES = parser.h
+BUILT_SOURCES = parser.hh
 AM_YFLAGS = -d -t -v
 SRC = lex.ll \
Index: tools/prettyprinter/ParserTypes.h
===================================================================
--- tools/prettyprinter/ParserTypes.h	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
+++ tools/prettyprinter/ParserTypes.h	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -0,0 +1,34 @@
+//                              -*- Mode: C++ -*- 
+// 
+// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
+//
+// The contents of this file are covered under the licence agreement in the
+// file "LICENCE" distributed with Cforall.
+// 
+// parse.h - Various declarations that are needed so that the generated parser
+//           and lexer compile with C++, and to share information between the
+//           parser, lexer, and driver program
+// 
+// Author           : Richard C. Bilson and Rodolfo G. Esteves
+// Created On       : Sun Dec 16 15:00:49 2001
+// Last Modified By : Peter A. Buhr
+// Last Modified On : Wed Jun 28 22:59:27 2017
+// Update Count     : 174
+// 
+
+#ifndef __PARSER_HH__
+#define __PARSER_HH__
+
+int yylex();
+
+#include <string>
+#include <list>
+#include "token.h"
+
+#endif // __PARSER_HH__
+
+// Local Variables: //
+// mode: c++ //
+// tab-width: 4 //
+// compile-command: "make install" //
+// End: //
Index: tools/prettyprinter/filter.cc
===================================================================
--- tools/prettyprinter/filter.cc	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/filter.cc	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -19,5 +19,5 @@
 using namespace std;
 #include "filter.h"
-#include "parser.h" 
+#include "parser.hh" 
 
 
Index: tools/prettyprinter/filter.h
===================================================================
--- tools/prettyprinter/filter.h	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/filter.h	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -17,5 +17,5 @@
 #define __FILTER_H__
 
-#include "parser.hh"
+#include "ParserTypes.h"
 
 extern void (* filter)( Token * tree );					// pointer to filter for parse tree
Index: tools/prettyprinter/lex.ll
===================================================================
--- tools/prettyprinter/lex.ll	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/lex.ll	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -23,6 +23,6 @@
 #include <iostream>
 using namespace std;
+#include "ParserTypes.h" 
 #include "parser.hh" 
-#include "parser.h" 
 
 #define RETURN_TOKEN( kind ) yylval.tokenp = new Token( yytext, ws_list, kind ); return kind;
Index: tools/prettyprinter/parser.hh
===================================================================
--- tools/prettyprinter/parser.hh	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/parser.hh	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -1,34 +1,144 @@
-//                              -*- Mode: C++ -*- 
-// 
-// Cforall Version 1.0.0 Copyright (C) 2015 University of Waterloo
-//
-// The contents of this file are covered under the licence agreement in the
-// file "LICENCE" distributed with Cforall.
-// 
-// parse.h - Various declarations that are needed so that the generated parser
-//           and lexer compile with C++, and to share information between the
-//           parser, lexer, and driver program
-// 
-// Author           : Richard C. Bilson and Rodolfo G. Esteves
-// Created On       : Sun Dec 16 15:00:49 2001
-// Last Modified By : Peter A. Buhr
-// Last Modified On : Wed Jun 28 22:59:27 2017
-// Update Count     : 174
-// 
+/* A Bison parser, made by GNU Bison 3.0.4.  */
 
-#ifndef __PARSER_HH__
-#define __PARSER_HH__
+/* Bison interface for Yacc-like parsers in C
 
-int yylex();
+   Copyright (C) 1984, 1989-1990, 2000-2015 Free Software Foundation, Inc.
 
-#include <string>
-#include <list>
-#include "token.h"
+   This program 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 3 of the License, or
+   (at your option) any later version.
 
-#endif // __PARSER_HH__
+   This program 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.
 
-// Local Variables: //
-// mode: c++ //
-// tab-width: 4 //
-// compile-command: "make install" //
-// End: //
+   You should have received a copy of the GNU General Public License
+   along with this program.  If not, see <http://www.gnu.org/licenses/>.  */
+
+/* As a special exception, you may create a larger work that contains
+   part or all of the Bison parser skeleton and distribute that work
+   under terms of your choice, so long as that work isn't itself a
+   parser generator using the skeleton or a modified version thereof
+   as a parser skeleton.  Alternatively, if you modify or redistribute
+   the parser skeleton itself, you may (at your option) remove this
+   special exception, which will cause the skeleton and the resulting
+   Bison output files to be licensed under the GNU General Public
+   License without this special exception.
+
+   This special exception was added by the Free Software Foundation in
+   version 2.2 of Bison.  */
+
+#ifndef YY_YY_PARSER_HH_INCLUDED
+# define YY_YY_PARSER_HH_INCLUDED
+/* Debug traces.  */
+#ifndef YYDEBUG
+# define YYDEBUG 1
+#endif
+#if YYDEBUG
+extern int yydebug;
+#endif
+
+/* Token type.  */
+#ifndef YYTOKENTYPE
+# define YYTOKENTYPE
+  enum yytokentype
+  {
+    MARK = 258,
+    LCURL = 259,
+    RCURL = 260,
+    INTEGER = 261,
+    CHARACTER = 262,
+    IDENTIFIER = 263,
+    CODE = 264,
+    START = 265,
+    UNION = 266,
+    TOKEN = 267,
+    LEFT = 268,
+    RIGHT = 269,
+    NONASSOC = 270,
+    TYPE = 271,
+    PURE_PARSER = 272,
+    SEMANTIC_PARSER = 273,
+    EXPECT = 274,
+    THONG = 275,
+    PREC = 276,
+    END_TERMINALS = 277,
+    _SECTIONS = 278,
+    _DEFSECTION_OPT = 279,
+    _LITERALBLOCK = 280,
+    _DECLARATION = 281,
+    _TAG_OPT = 282,
+    _NAMENOLIST = 283,
+    _NAMENO = 284,
+    _NAMELIST = 285,
+    _RULESECTION = 286,
+    _RULE = 287,
+    _LHS = 288,
+    _RHS = 289,
+    _PREC = 290,
+    _ACTION = 291,
+    _USERSECTION_OPT = 292
+  };
+#endif
+/* Tokens.  */
+#define MARK 258
+#define LCURL 259
+#define RCURL 260
+#define INTEGER 261
+#define CHARACTER 262
+#define IDENTIFIER 263
+#define CODE 264
+#define START 265
+#define UNION 266
+#define TOKEN 267
+#define LEFT 268
+#define RIGHT 269
+#define NONASSOC 270
+#define TYPE 271
+#define PURE_PARSER 272
+#define SEMANTIC_PARSER 273
+#define EXPECT 274
+#define THONG 275
+#define PREC 276
+#define END_TERMINALS 277
+#define _SECTIONS 278
+#define _DEFSECTION_OPT 279
+#define _LITERALBLOCK 280
+#define _DECLARATION 281
+#define _TAG_OPT 282
+#define _NAMENOLIST 283
+#define _NAMENO 284
+#define _NAMELIST 285
+#define _RULESECTION 286
+#define _RULE 287
+#define _LHS 288
+#define _RHS 289
+#define _PREC 290
+#define _ACTION 291
+#define _USERSECTION_OPT 292
+
+/* Value type.  */
+#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
+
+union YYSTYPE
+{
+#line 41 "parser.yy" /* yacc.c:1909  */
+
+	Token *tokenp;
+
+#line 132 "parser.hh" /* yacc.c:1909  */
+};
+
+typedef union YYSTYPE YYSTYPE;
+# define YYSTYPE_IS_TRIVIAL 1
+# define YYSTYPE_IS_DECLARED 1
+#endif
+
+
+extern YYSTYPE yylval;
+
+int yyparse (void);
+
+#endif /* !YY_YY_PARSER_HH_INCLUDED  */
Index: tools/prettyprinter/parser.yy
===================================================================
--- tools/prettyprinter/parser.yy	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/parser.yy	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -20,5 +20,5 @@
 #include <iostream>
 using namespace std;
-#include "parser.hh"
+#include "ParserTypes.h"
 #include "filter.h"
 
Index: tools/prettyprinter/token.cc
===================================================================
--- tools/prettyprinter/token.cc	(revision b72d4ed3c032c44b2e77aa0b0822f63ebaf1bea0)
+++ tools/prettyprinter/token.cc	(revision 1ce2189b3598c7795e74e83ea3e98ef03a97c9f8)
@@ -16,6 +16,6 @@
 #include <string>
 using namespace std;
-#include "parser.hh" 
-#include "parser.h"
+#include "ParserTypes.h" 
+#include "parser.hh"
 #include "filter.h"
 
