diff anagram/support/suppinst.cpp @ 0:13d2b8934445

Import AnaGram (near-)release tree into Mercurial.
author David A. Holland
date Sat, 22 Dec 2007 17:52:45 -0500
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/anagram/support/suppinst.cpp	Sat Dec 22 17:52:45 2007 -0500
@@ -0,0 +1,106 @@
+/*
+ * AnaGram, A System for Syntax Directed Programming
+ * Copyright 1997-1999 Parsifal Software. All Rights Reserved.
+ * Copyright 2006 David A. Holland. All Rights Reserved.
+ * See the file COPYING for license and usage terms.
+ *
+ * suppinst.cpp - template instantiation
+ */
+
+#include "agarray.h"
+#include "agbaltree.h"
+#include "agnotify.h"
+#include "agstring.h"
+#include "register.h"
+
+//#define INCLUDE_LOGGING
+#include "log.h"
+
+#include "agarray-imp.h"
+#include "agbaltree-imp.h"
+#include "agstack-imp.h"
+#include "register-imp.h"
+
+////////////////////////////////////////////////////////////
+
+#ifdef __IBMCPP__
+/* last pruned 20061022 */
+/* last tested 20061022 */
+
+// balanced tree
+#pragma define(AgBalancedTree<int>)
+
+// stack
+#pragma define(AgStack<AgNotificationActionBase *>)
+#pragma define(AgStack<AgNotifierBase*>)
+#pragma define(AgStack<AgString>)
+#pragma define(AgStack<char>)
+#pragma define(AgStack<void *>)
+
+#endif /* __IBMCPP__ */
+
+////////////////////////////////////////////////////////////
+
+#ifdef __WATCOM_CPLUSPLUS__
+/* last pruned 20061022 */
+/* last tested who-knows-when */
+
+// Watcom 10.6 doesn't seem to have any mechanism for forcing template
+// expansions.
+
+// balanced tree
+typedef AgBalancedTree<int>                                   foo1;
+
+#endif /* __WATCOM_CPLUSPLUS__ */
+
+////////////////////////////////////////////////////////////
+
+#ifdef _MSC_VER
+/* last pruned 20061022 */
+/* last tested who-knows-when */
+
+// balanced tree
+template class AgBalancedTree<int>;
+
+// stack
+template class AgStack<AgString>;
+template class AgStack<char>;
+template class AgStack<void *>;
+
+#endif /* _MSC_VER */
+
+////////////////////////////////////////////////////////////
+
+#ifdef __GNUC__
+/* last pruned 20061022 */
+/* last tested 20061022 */
+
+// balanced tree
+template class AgBalancedTree<int>;
+
+// stack
+template class AgStack<AgNotificationActionBase *>;
+template class AgStack<AgNotifierBase *>;
+template class AgStack<AgString>;
+template class AgStack<char>;
+template class AgStack<void *>;
+
+#endif /* __GNUC__ */
+
+////////////////////////////////////////////////////////////
+
+#ifdef __BCPLUSPLUS__
+/* last pruned 20061022 */
+/* last tested who-knows-when */
+
+#pragma option -Jgd
+
+// balanced tree
+typedef AgBalancedTree<int>             foo11;
+
+// stack
+typedef AgStack<AgString>               foo21;
+typedef AgStack<char>                   foo22;
+typedef AgStack<void *>                 foo23;
+
+#endif /* __BCPLUSPLUS__ */