summaryrefslogtreecommitdiff
path: root/web/yacco2/o2linker/includes.w
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /web/yacco2/o2linker/includes.w
Initial commit
Diffstat (limited to 'web/yacco2/o2linker/includes.w')
-rw-r--r--web/yacco2/o2linker/includes.w42
1 files changed, 42 insertions, 0 deletions
diff --git a/web/yacco2/o2linker/includes.w b/web/yacco2/o2linker/includes.w
new file mode 100644
index 0000000000..8236682a1f
--- /dev/null
+++ b/web/yacco2/o2linker/includes.w
@@ -0,0 +1,42 @@
+@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% */@>
+@*2 Include files.
+To start things off, these are the Standard Template Library (STL) containers
+needed by Linker, Yacco2's parse library definitions, and the specific
+grammar definitions needed by Linker.
+@<Include files@>=
+#include "globals.h"
+#include "yacco2_stbl.h"
+using namespace yacco2_stbl;
+#include "o2linker_externs.h"
+#include "link_cleanser.h"
+#include "t_alphabet.h"
+#include "fsc_file.h"
+
+
+@ Include \Olinker header.
+@<io2@>=
+#include "o2linker.h"
+
+@*2 Create header file for \O2{}linker 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.
+@(o2linker.h@>=
+@h
+#ifndef o2linker__
+#define o2linker__ 1
+@<Include files@>;
+ @<External rtns and variables@>;
+#endif
+
+@*2 \O2{}linker implementation.\fbreak
+Start the code output to |o2linker.cpp|
+by appending its include file.
+@(o2linker.cpp@>=
+@<io2@>;
+@<accrue linker code@>;