summaryrefslogtreecommitdiff
path: root/ipl/mprogs/strucget.icn
diff options
context:
space:
mode:
Diffstat (limited to 'ipl/mprogs/strucget.icn')
-rw-r--r--ipl/mprogs/strucget.icn68
1 files changed, 0 insertions, 68 deletions
diff --git a/ipl/mprogs/strucget.icn b/ipl/mprogs/strucget.icn
deleted file mode 100644
index f06ab44..0000000
--- a/ipl/mprogs/strucget.icn
+++ /dev/null
@@ -1,68 +0,0 @@
-############################################################################
-#
-# File: strucget.icn
-#
-# Subject: Program to collect SP structures
-#
-# Author: Ralph E. Griswold
-#
-# Date: March 26, 2002
-#
-############################################################################
-#
-# This file is in the public domain.
-#
-############################################################################
-#
-# This program collects the structures in an SP and when the SP
-# terminates, it saves them as an xencoded file. Records are not
-# collected because they cannot be decoded in the absence of the
-# appropriate record declaration.
-#
-# By keeping pointers to the structures in an SP, it assures that
-# all structures produced by that program are intact at the time
-# the SP terminates. Be aware, however, that some structures may
-# have been "emptied" by the time the SP terminates, for example,
-# by get(L).
-#
-# Saving the SP structure prevents them from being collected, which may
-# affect SP performance or even behavior.
-#
-# The xencoded file is named <sp>.xcode there <sp> is the name of the
-# SP as given on the command line.
-#
-############################################################################
-#
-# Requires: MT Icon and instrumentation
-#
-############################################################################
-#
-# Links: evinit, xcodes
-#
-############################################################################
-
-link evinit
-link xcodes
-
-$include "evdefs.icn"
-
-procedure main(args)
- local mask, structs, name
-
- name := args[1] | stop("*** no SP")
-
- EvInit(args) | stop("*** cannot open SP")
-
- variable("write", &eventsource) := -1 # turn off SP output
- variable("writes", &eventsource) := -1
-
- structs := set()
-
- mask := cset(E_Lcreate || E_Rcreate || E_Screate || E_Tcreate)
-
- while EvGet(mask) do
- insert(structs, &eventvalue) # add new structure
-
- xencoden(sort(structs), name || ".xcode") # save SP structures
-
-end