aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authordos-reis <gdr@axiomatics.org>2008-09-07 20:13:42 +0000
committerdos-reis <gdr@axiomatics.org>2008-09-07 20:13:42 +0000
commitc0f80aca887462749a7cdc4fcacc579ee59aa850 (patch)
treef0e7543a797c0072415c80f36327f3b52309ec10
parent18b7b4b5d3511211092796bd8d593d5c9debec02 (diff)
downloadopen-axiom-c0f80aca887462749a7cdc4fcacc579ee59aa850.tar.gz
* boot/parser.boot (bpImport): Invert syntax for importing foreign
functions. * boot/strap/parser.clisp: Update. * interp/sys-os.boot: Change to new syntax throughout.
-rwxr-xr-xconfigure18
-rw-r--r--configure.ac2
-rw-r--r--configure.ac.pamphlet2
-rw-r--r--src/ChangeLog7
-rw-r--r--src/algebra/exposed.lsp.pamphlet1
-rw-r--r--src/boot/parser.boot8
-rw-r--r--src/boot/strap/ast.clisp11
-rw-r--r--src/boot/strap/parser.clisp28
-rw-r--r--src/boot/strap/translator.clisp20
-rw-r--r--src/interp/sys-os.boot116
10 files changed, 117 insertions, 96 deletions
diff --git a/configure b/configure
index 0e17e08d..7b0f82dd 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.3.0-2008-09-05.
+# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2008-09-07.
#
# 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.3.0-2008-09-05'
-PACKAGE_STRING='OpenAxiom 1.3.0-2008-09-05'
+PACKAGE_VERSION='1.3.0-2008-09-07'
+PACKAGE_STRING='OpenAxiom 1.3.0-2008-09-07'
PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net'
ac_unique_file="src/Makefile.pamphlet"
@@ -1405,7 +1405,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.3.0-2008-09-05 to adapt to many kinds of systems.
+\`configure' configures OpenAxiom 1.3.0-2008-09-07 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1475,7 +1475,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2008-09-05:";;
+ short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2008-09-07:";;
esac
cat <<\_ACEOF
@@ -1579,7 +1579,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-OpenAxiom configure 1.3.0-2008-09-05
+OpenAxiom configure 1.3.0-2008-09-07
generated by GNU Autoconf 2.60
Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
@@ -1593,7 +1593,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.3.0-2008-09-05, which was
+It was created by OpenAxiom $as_me 1.3.0-2008-09-07, which was
generated by GNU Autoconf 2.60. Invocation command line was
$ $0 $@
@@ -26103,7 +26103,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.3.0-2008-09-05, which was
+This file was extended by OpenAxiom $as_me 1.3.0-2008-09-07, which was
generated by GNU Autoconf 2.60. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -26152,7 +26152,7 @@ Report bugs to <bug-autoconf@gnu.org>."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
ac_cs_version="\\
-OpenAxiom config.status 1.3.0-2008-09-05
+OpenAxiom config.status 1.3.0-2008-09-07
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 ec14de71..b1cb2fd4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,6 +1,6 @@
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.3.0-2008-09-05],
+AC_INIT([OpenAxiom], [1.3.0-2008-09-07],
[open-axiom-bugs@lists.sf.net])
AC_CONFIG_AUX_DIR(config)
diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet
index 20279c76..350adb1b 100644
--- a/configure.ac.pamphlet
+++ b/configure.ac.pamphlet
@@ -1131,7 +1131,7 @@ information:
<<Autoconf init>>=
sinclude(config/open-axiom.m4)
sinclude(config/aclocal.m4)
-AC_INIT([OpenAxiom], [1.3.0-2008-09-05],
+AC_INIT([OpenAxiom], [1.3.0-2008-09-07],
[open-axiom-bugs@lists.sf.net])
@
diff --git a/src/ChangeLog b/src/ChangeLog
index aaac1a7b..2350a20f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,12 @@
2008-09-07 Gabriel Dos Reis <gdr@cs.tamu.edu>
+ * boot/parser.boot (bpImport): Invert syntax for importing foreign
+ functions.
+ * boot/strap/parser.clisp: Update.
+ * interp/sys-os.boot: Change to new syntax throughout.
+
+2008-09-07 Gabriel Dos Reis <gdr@cs.tamu.edu>
+
Ensure SingleFloat is 32-bit, DoubleFloat 64-bit.
* interp/types.boot: Tidy.
* interp/sys-constants.boot: Define limits for builtin numeric types.
diff --git a/src/algebra/exposed.lsp.pamphlet b/src/algebra/exposed.lsp.pamphlet
index 1e2df82c..4a729c69 100644
--- a/src/algebra/exposed.lsp.pamphlet
+++ b/src/algebra/exposed.lsp.pamphlet
@@ -107,6 +107,7 @@
(|DirectProductFunctions2| . DIRPROD2)
(|DisplayPackage| . DISPLAY)
(|DistinctDegreeFactorize| . DDFACT)
+ (|Domain| . DOMAIN)
(|DoubleFloat| . DFLOAT)
(|DoubleFloatSpecialFunctions| . DFSFUN)
(|DrawComplex| . DRAWCX)
diff --git a/src/boot/parser.boot b/src/boot/parser.boot
index 87ade687..8bf5086d 100644
--- a/src/boot/parser.boot
+++ b/src/boot/parser.boot
@@ -462,10 +462,14 @@ bpModule() ==
++ IMPORT QUOTE String
bpImport() ==
bpEqKey "IMPORT" =>
+ a := bpState()
bpName() or bpTrap()
- bpEqKey "FOR" =>
+ bpEqPeek "COLON" =>
+ bpRestore a
(bpSignature() or bpTrap()) and
- bpPush ImportSignature(bpPop2(), bpPop1())
+ (bpEqKey "FOR" or bpTrap()) and
+ (bpName() or bpTrap()) and
+ bpPush ImportSignature(bpPop1(), bpPop1())
bpPush Import bpPop1()
false
diff --git a/src/boot/strap/ast.clisp b/src/boot/strap/ast.clisp
index 8f1b5b77..f5536c0c 100644
--- a/src/boot/strap/ast.clisp
+++ b/src/boot/strap/ast.clisp
@@ -2206,9 +2206,14 @@
(RETURN
(COND
((NULL |t|) |t|)
- ((SETQ |t'| (ASSOC (|coreSymbol| |t|) |$NativeTypeTable|))
- (CDR |t'|))
- ('T
+ ((SETQ |t'|
+ (CDR (ASSOC (|coreSymbol| |t|) |$NativeTypeTable|)))
+ (COND
+ ((AND (EQ |t| '|string|) (|%hasFeature| :SBCL))
+ (LIST |t'| :EXTERNAL-FORMAT :ASCII :ELEMENT-TYPE
+ 'BASE-CHAR))
+ (#0='T |t'|)))
+ (#0#
(|fatalError|
(CONCAT "unsupported native type: " (SYMBOL-NAME |t|))))))))
diff --git a/src/boot/strap/parser.clisp b/src/boot/strap/parser.clisp
index 9cd82f72..baea8792 100644
--- a/src/boot/strap/parser.clisp
+++ b/src/boot/strap/parser.clisp
@@ -483,16 +483,24 @@
('T (|bpPush| (|%Module| (|bpPop1|) NIL)))))))))
(DEFUN |bpImport| ()
- (COND
- ((|bpEqKey| 'IMPORT)
- (PROGN
- (OR (|bpName|) (|bpTrap|))
- (COND
- ((|bpEqKey| 'FOR)
- (AND (OR (|bpSignature|) (|bpTrap|))
- (|bpPush| (|ImportSignature| (|bpPop2|) (|bpPop1|)))))
- (#0='T (|bpPush| (|Import| (|bpPop1|)))))))
- (#0# NIL)))
+ (PROG (|a|)
+ (RETURN
+ (COND
+ ((|bpEqKey| 'IMPORT)
+ (PROGN
+ (SETQ |a| (|bpState|))
+ (OR (|bpName|) (|bpTrap|))
+ (COND
+ ((|bpEqPeek| 'COLON)
+ (PROGN
+ (|bpRestore| |a|)
+ (AND (OR (|bpSignature|) (|bpTrap|))
+ (OR (|bpEqKey| 'FOR) (|bpTrap|))
+ (OR (|bpName|) (|bpTrap|))
+ (|bpPush|
+ (|ImportSignature| (|bpPop1|) (|bpPop1|))))))
+ (#0='T (|bpPush| (|Import| (|bpPop1|)))))))
+ (#0# NIL)))))
(DEFUN |bpTypeAliasDefition| ()
(AND (OR (|bpTerm| #'|bpIdList|) (|bpTrap|)) (|bpEqKey| 'TDEF)
diff --git a/src/boot/strap/translator.clisp b/src/boot/strap/translator.clisp
index 4d1f7fb2..c58a80a2 100644
--- a/src/boot/strap/translator.clisp
+++ b/src/boot/strap/translator.clisp
@@ -93,9 +93,23 @@
(DEFUN |AxiomCore|::|%sysInit| ()
(DECLARE (SPECIAL |$translatingOldBoot|))
- (COND
- ((EQUAL (CDR (ASSOC (|Option| "boot") (|%systemOptions|))) "old")
- (SETQ |$translatingOldBoot| T))))
+ (PROGN
+ (SETQ *LOAD-VERBOSE* NIL)
+ (COND
+ ((OR (|%hasFeature| :GCL) (|%hasFeature| :ECL))
+ (SETF (SYMBOL-VALUE
+ (|bfColonColon| 'COMPILER '*COMPILE-VERBOSE*))
+ NIL)
+ (SETF (SYMBOL-VALUE
+ (|bfColonColon| 'COMPILER
+ 'SUPPRESS-COMPILER-WARNINGS*))
+ NIL)
+ (SETF (SYMBOL-VALUE
+ (|bfColonColon| 'COMPILER 'SUPPRESS-COMPILER-NOTES*))
+ T)))
+ (COND
+ ((EQUAL (CDR (ASSOC (|Option| "boot") (|%systemOptions|))) "old")
+ (SETQ |$translatingOldBoot| T)))))
(DECLAIM (FTYPE (FUNCTION (|%Thing|) |%Thing|) |setCurrentPackage|))
diff --git a/src/interp/sys-os.boot b/src/interp/sys-os.boot
index 95342e27..3d3ecc6d 100644
--- a/src/interp/sys-os.boot
+++ b/src/interp/sys-os.boot
@@ -46,105 +46,90 @@ module sys_-os
loadSystemRuntimeCore()
++ change current working directory.
-import changeDirectory for
- oa__chdir: string -> int -- 0: success, -1: failure
-
+import oa__chdir: string -> int for changeDirectory
+ -- 0: success, -1: failure
+
++ remove file or directory tree.
-import removeFile for
- oa__unlink: string -> int -- 0: sucess, -1: failure
+import oa__unlink: string -> int for removeFile
+ -- 0: sucess, -1: failure
++ rename file or directory
-import renameFile for
- oa__rename: (string,string) -> int -- 0: success, -1 failure
+import oa__rename: (string,string) -> int for renameFile
+ -- 0: success, -1 failure
++ create a directory
-import mkdir for
- oa__mkdir: string -> int -- 0: sucess, -1: failure.
+import oa__mkdir: string -> int for mkdir
+ -- 0: sucess, -1: failure.
-import readFromFileHandle for
- oa__filedesc__read: (int,buffer,int) -> int -- -1: failure; otherwise
- -- actual read bytes count
+import oa__filedesc__read: (int,buffer,int) -> int for readFromFileHandle
+ -- -1: failure; otherwise
+ -- actual read bytes count
-import writeToFileHandle for
- oa__filedesc__write: (int,buffer,int) -> int -- -1: failure; otherwise
- -- actual written bytes count
+import oa__filedesc__write: (int,buffer,int) -> int for writeToFileHandle
+ -- -1: failure; otherwise
+ -- actual written bytes count
-import closeFileHandle for
- oa__filedesc__close: int -> int -- -1: failure; otherwise 0.
+import oa__filedesc__close: int -> int for closeFileHandle
+ -- -1: failure; otherwise 0.
-import getEnv for
- oa__getenv: string -> string
+import oa__getenv: string -> string for getEnv
+
--% Local IPC socket support
-import openLocalClientStreamSocket for
- oa__open__local__client__stream__socket: string -> int -- -1: failure
+import oa__open__local__client__stream__socket: string -> int
+ for openLocalClientStreamSocket
+ -- -1: failure
--% INET socket stream support
-import openIP4ClientStreamSocket for
- oa__open__ip4__client__stream__socket: (string,int) -> int
+import oa__open__ip4__client__stream__socket: (string,int) -> int
+ for openIP4ClientStreamSocket
-import readFromStreamSocket for
- oa__socket__read: (int,string,int) -> int
-
-import writeToStreamSocket for
- oa__socket__write: (int,string,int) -> int
+import oa__socket__read: (int,string,int) -> int for readFromStreamSocket
+
+import oa__socket__write: (int,string,int) -> int for writeToStreamSocket
-import closeSocket for
- oa__close__socket: int -> int
+import oa__close__socket: int -> int for closeSocket
--% OpenAxiom subsystem socket support
++ socket interface
-import openServer for
- open__server: string -> int
+import open__server: string -> int for openServer
-import sockGetInt for
- sock__get__int: int -> int
+import sock__get__int: int -> int for sockGetInt
-import sockSendInt for
- sock__send__int: (int,int) -> int
+import sock__send__int: (int,int) -> int for sockSendInt
-import sockGetString for
- sock__get__string: int -> string
+import sock__get__string: int -> string for sockGetString
-import doSendString for
- sock__send__string__len: (int, string, int) -> int
+import sock__send__string__len: (int, string, int) -> int
+ for doSendString
sockSendString(type,str) ==
doSendString(type, str, LENGTH str)
-import sockGetFloat for
- sock__get__float: int -> double
+import sock__get__float: int -> double for sockGetFloat
-import sockSendFloat for
- sock__send__float: (int,double) -> int
+import sock__send__float: (int,double) -> int for sockSendFloat
-import sockSendWakeup for
- sock__send__wakeup: (int,int) -> int
+import sock__send__wakeup: (int,int) -> int for sockSendWakeup
-import serverSwitch for
- server__switch: () -> int
+import server__switch: () -> int for serverSwitch
-import flushStdout for
- flush__stdout: () -> int
+import flush__stdout: () -> int for flushStdout
-import sockSendSignal for
- sock__send__signal: (int,int) -> int
+import sock__send__signal: (int,int) -> int for sockSendSignal
-import printLine for
- print__line: string -> int
+import print__line: string -> int for printLine
--%
-import directoryp for
- directoryp: string -> int
+import directoryp: string -> int for directoryp
+
-import writeablep for
- writeablep: string -> int
+import writeablep: string -> int for writeablep
-import runCommand for
- oa__system: string -> int
+import oa__system: string -> int for runCommand
++ run a program with specified arguments
runProgram(prog,args) ==
@@ -161,14 +146,11 @@ runProgram(prog,args) ==
++ numeric limits
)if %hasFeature KEYWORD::GCL
-import plusInfinity for
- plus__infinity: () -> double
+import plus__infinity: () -> double for plusInfinity
-import minusInfinity for
- minus__infinity: () -> double
+import minus__infinity: () -> double for minusInfinity
-import NaNQ for
- NANQ: () -> double
+import NANQ: () -> double for NaNQ
$plusInfinity := plusInfinity()
$minusInfinity := minusInfinity()
@@ -197,6 +179,6 @@ minusInfinity() ==
++ stdStreamIsTerminal:
++ returns 1 if the standard stream is attached to a terminal;
++ otherwise 0.
-import stdStreamIsTerminal for std__stream__is__terminal: int -> int
+import std__stream__is__terminal: int -> int for stdStreamIsTerminal
--%