aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--configure.ac.pamphlet2
-rw-r--r--src/ChangeLog10
-rw-r--r--src/interp/define.boot2
-rw-r--r--src/interp/nruncomp.boot18
-rw-r--r--src/interp/wi2.boot4
7 files changed, 36 insertions, 20 deletions
diff --git a/configure b/configure
index 551e71b7..2e545b20 100755
--- a/configure
+++ b/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.60 for OpenAxiom 1.2.0-2008-07-04.
+# Generated by GNU Autoconf 2.60 for OpenAxiom 1.2.0-2008-07-05.
#
# Report bugs to <open-axiom-bugs@lists.sf.net>.
#
@@ -713,8 +713,8 @@ SHELL=${CONFIG_SHELL-/bin/sh}
# Identity of this package.
PACKAGE_NAME='OpenAxiom'
PACKAGE_TARNAME='openaxiom'
-PACKAGE_VERSION='1.2.0-2008-07-04'
-PACKAGE_STRING='OpenAxiom 1.2.0-2008-07-04'
+PACKAGE_VERSION='1.2.0-2008-07-05'
+PACKAGE_STRING='OpenAxiom 1.2.0-2008-07-05'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
ac_unique_file="src/Makefile.pamphlet"
@@ -1403,7 +1403,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures OpenAxiom 1.2.0-2008-07-04 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.2.0-2008-07-05 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1473,7 +1473,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.2.0-2008-07-04:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.2.0-2008-07-05:";;
esac
cat <<\_ACEOF
@@ -1577,7 +1577,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.2.0-2008-07-04
+OpenAxiom configure 1.2.0-2008-07-05
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1591,7 +1591,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by OpenAxiom $as_me 1.2.0-2008-07-04, which was
+It was created by OpenAxiom $as_me 1.2.0-2008-07-05, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -26074,7 +26074,7 @@ exec 6>&1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by OpenAxiom $as_me 1.2.0-2008-07-04, which was
+This file was extended by OpenAxiom $as_me 1.2.0-2008-07-05, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26123,7 +26123,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-OpenAxiom config.status 1.2.0-2008-07-04
+OpenAxiom config.status 1.2.0-2008-07-05
configured by $0, generated by GNU Autoconf 2.60,
with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/configure.ac b/configure.ac
index 795bee1a..511e0cdd 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.2.0-2008-07-04],
+AC_INIT([OpenAxiom], [1.2.0-2008-07-05],
[open-axiom-bugs@lists.sf.net])
AC_CONFIG_AUX_DIR(config)
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index d102d419..8385d174 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1103,7 +1103,7 @@ information:
<<Autoconf init>>=
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.2.0-2008-07-04],
+AC_INIT([OpenAxiom], [1.2.0-2008-07-05],
[open-axiom-bugs@lists.sf.net])
@
diff --git a/src/ChangeLog b/src/ChangeLog
index fdfd0d57..053947ca 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,13 @@
+2008-07-05 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
+ * interp/nruncomp.boot (NRTassocIndex): Document.
+ (NRTgetLocalIndexClear): Remove.
+ (NRTgetLocalIndex1): Lose second unused argument; move body to
+ NRTgetLocalIndex.
+ * interp/define.boot (doIt): Call NRTgetLocalIndex, not
+ NRTgetLocalIndexClear.
+ * interp/wi2.boot (NRTgetLocalIndex): Rename from NRTgetLocalIndex1.
+
2008-07-04 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/compiler.boot (compFormMatch): Tidy.
diff --git a/src/interp/define.boot b/src/interp/define.boot
index 789ff2c8..55ea350a 100644
--- a/src/interp/define.boot
+++ b/src/interp/define.boot
@@ -1368,7 +1368,7 @@ doIt(item,$predl) ==
RPLACA(item,"setShellEntry")
rhsCode:=
rhs'
- RPLACD(item,['$,NRTgetLocalIndexClear lhs,rhsCode])
+ RPLACD(item,['$,NRTgetLocalIndex lhs,rhsCode])
RPLACA(item,first code)
RPLACD(item,rest code)
item is [":",a,t] => [.,.,$e]:= compOrCroak(item,$EmptyMode,$e)
diff --git a/src/interp/nruncomp.boot b/src/interp/nruncomp.boot
index 9e7572db..496e66a5 100644
--- a/src/interp/nruncomp.boot
+++ b/src/interp/nruncomp.boot
@@ -218,6 +218,11 @@ genDeltaSpecialSig x ==
x is [":",y,z] => [":",y,NRTgetLocalIndex z]
NRTgetLocalIndex x
+++ Return the slot number (within the template vector of the functor
+++ being compiled) of the domain or value referenced by the form `x'.
+++ Otherwise, return nil this is the first time `x' is referenced, or
+++ if `x' designates neither a domain nor a value (e.g. a modemap).
+NRTassocIndex: %Form -> %Maybe %Short
NRTassocIndex x == --returns index of "domain" entry x in al
NULL x => x
x = $NRTaddForm => 5
@@ -226,11 +231,8 @@ NRTassocIndex x == --returns index of "domain" entry x in al
$NRTbase + $NRTdeltaLength - k
nil
-NRTgetLocalIndexClear item == NRTgetLocalIndex1(item,true)
-
-NRTgetLocalIndex item == NRTgetLocalIndex1(item,false)
-
-NRTgetLocalIndex1(item,killBindingIfTrue) ==
+NRTgetLocalIndex: %Form -> %Short
+NRTgetLocalIndex item ==
k := NRTassocIndex item => k
item = $NRTaddForm => 5
item = "$" => 0
@@ -242,12 +244,16 @@ NRTgetLocalIndex1(item,killBindingIfTrue) ==
atom item and null value => --give slots to atoms
$NRTdeltaList:= [['domain,NRTaddInner item,:value],:$NRTdeltaList]
$NRTdeltaListComp:=[item,:$NRTdeltaListComp]
+ index := $NRTbase + $NRTdeltaLength -- slot number to return
$NRTdeltaLength := $NRTdeltaLength+1
- $NRTbase + $NRTdeltaLength - 1
+ index
-- when assigning slot to flag values, we don't really want to
-- compile them. Rather, we want to record them as if they were atoms.
flag := isQuasiquote item
$NRTdeltaList:= [['domain, NRTaddInner item,:value], :$NRTdeltaList]
+ -- remember the item's place in the `delta list' and its slot number
+ -- before the recursive call to the compiler, as that might generate
+ -- more references that would extend the `delta list'.
saveNRTdeltaListComp:= $NRTdeltaListComp:=[nil,:$NRTdeltaListComp]
saveIndex := $NRTbase + $NRTdeltaLength
$NRTdeltaLength := $NRTdeltaLength+1
diff --git a/src/interp/wi2.boot b/src/interp/wi2.boot
index 35dcf1e7..ec25e771 100644
--- a/src/interp/wi2.boot
+++ b/src/interp/wi2.boot
@@ -678,7 +678,7 @@ compMapCond''(cexpr,dc) ==
--======================================================================
-- From nruncomp.boot
--======================================================================
-NRTgetLocalIndex1(item,killBindingIfTrue) ==
+NRTgetLocalIndex item ==
k := NRTassocIndex item => k
item = $NRTaddForm => 5
item = '$ => 0
@@ -1165,7 +1165,7 @@ doItLet1 item ==
code is ['LET,:.] =>
rhsCode:= rhs'
op := "setShellEntry"
- wiReplaceNode(item,[op,'$,NRTgetLocalIndexClear lhs,rhsCode], 16)
+ wiReplaceNode(item,[op,'$,NRTgetLocalIndex lhs,rhsCode], 16)
wiReplaceNode(item, code, 18)
rhsOfLetIsDomainForm code ==