@q file: includes.w@> @q% Copyright Dave Bone 1998 - 2015@> @q% /*@> @q% This Source Code Form is subject to the terms of the Mozilla Public@> @q% License, v. 2.0. If a copy of the MPL was not distributed with this@> @q% file, You can obtain one at http://mozilla.org/MPL/2.0/.@> @q% */@> @** Cweb's writing out of \O2 program.\fbreak @*2 Include files.\fbreak To start things off, there are the Standard Template Library (STL) containers, \Yacco2's parse library definitions, and the specific grammar definitions to parse the grammar. @= #include "globals.h" #include "yacco2_stbl.h" using namespace yacco2_stbl; #include "o2_lcl_opts.h" #include "o2_lcl_opt.h" #include "pass3.h" #include "o2_types.h" #include "la_expr_lexical.h" #include "la_expr.h" #include "enumerate_T_alphabet.h" #include "epsilon_rules.h" #include "mpost_output.h" #include "prt_xrefs_docs.h" #include "eval_phrases.h" #include "enumerate_grammar.h" #include "rules_use_cnt.h" @ Accrue \O2 code. @= // accrue code @*2 Create header file for \O2 environment.\fbreak Note, the ``include search'' directories for the c++ compiler has to be supplied to the compiler environment used. This must include \Yacco2's library. @(o2.h@>= @h #ifndef o2__ #define o2__ 1 @; @; #endif @*1 \O2 implementation.\fbreak Start the code output to |o2.cpp| by appending its include file. @(o2.cpp@>= #include "o2.h" @;