aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGabriel Dos Reis <gdr@axiomatics.org>2015-12-23 22:38:12 -0800
committerGabriel Dos Reis <gdr@axiomatics.org>2015-12-23 22:38:12 -0800
commitdb9c4c7cd0c08a8b35a7d56d0279139021d8b945 (patch)
treeaebda0694fe0b90435b686da85021c19c7eb8262
parent72bbd833136a8a36eab1597c2f32f0890caeade8 (diff)
downloadopen-axiom-db9c4c7cd0c08a8b35a7d56d0279139021d8b945.tar.gz
Retain Lisp code generated from algebra if asked.
-rw-r--r--src/ChangeLog7
-rw-r--r--src/boot/translator.boot4
-rw-r--r--src/interp/lisplib.boot11
-rw-r--r--src/lisp/core.lisp.in3
4 files changed, 20 insertions, 5 deletions
diff --git a/src/ChangeLog b/src/ChangeLog
index 447fde62..645484fa 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,10 @@
+2015-12-23 Gabriel Dos Reis <gdr@axiomatics.org>
+
+ * interp/lisplib.boot (lisplibDoRename): Retain generated Lisp
+ file if asked.
+ * lisp/core.lisp.in ($LispFileType): Export.
+ * boot/translator.boot (retainFile?): Likewise.
+
2014-11-20 Gabriel Dos Reis <gdr@integrable-solutions.net>
* interp/lisplib.boot (lisplibDoRename): Fix thinko.
diff --git a/src/boot/translator.boot b/src/boot/translator.boot
index 34aa7816..8ba8e4fc 100644
--- a/src/boot/translator.boot
+++ b/src/boot/translator.boot
@@ -1,6 +1,6 @@
-- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
-- All rights reserved.
--- Copyright (C) 2007-2014, Gabriel Dos Reis.
+-- Copyright (C) 2007-2015, Gabriel Dos Reis.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -40,7 +40,7 @@ import parser
import ast
namespace BOOTTRAN
module translator (evalBootFile, loadNativeModule, loadSystemRuntimeCore,
- string2BootTree, genImportDeclaration)
+ string2BootTree, genImportDeclaration, retainFile?)
++ If non nil, holds the name of the current module being translated.
$currentModuleName := nil
diff --git a/src/interp/lisplib.boot b/src/interp/lisplib.boot
index 6ab93035..d708eb3f 100644
--- a/src/interp/lisplib.boot
+++ b/src/interp/lisplib.boot
@@ -1,6 +1,6 @@
-- Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
-- All rights reserved.
--- Copyright (C) 2007-2013, Gabriel Dos Reis.
+-- Copyright (C) 2007-2015, Gabriel Dos Reis.
-- All rights reserved.
--
-- Redistribution and use in source and binary forms, with or without
@@ -584,10 +584,17 @@ finalizeLisplib(db,libName) ==
lisplibDoRename db ==
lib := dbLibstream db
output := dbOutputPath db =>
+ codepath := filePath libCodeStream lib
modpath := filePathString
- makeFilePath(type <- $faslType,defaults <- filePath libCodeStream lib)
+ makeFilePath(type <- $faslType,defaults <- codepath)
do
renameFile(modpath,output) = 0 or copyFile(modpath,output)
+ -- Retain genetared Lisp code for inspection, if possible.
+ if retainFile? 'lisp then
+ lsp := filePathString codepath
+ dst := filePathString
+ makeFilePath(type <- $LispFileType,defaults <- output)
+ renameFile(lsp,dst) = 0 or copyFile(lsp,dst)
removeFile libStationaryDirname lib
output
removeFile libDirname lib
diff --git a/src/lisp/core.lisp.in b/src/lisp/core.lisp.in
index cd1a6775..302a2c78 100644
--- a/src/lisp/core.lisp.in
+++ b/src/lisp/core.lisp.in
@@ -3,7 +3,7 @@
;; Copyright (c) 1991-2002, The Numerical Algorithms Group Ltd.
;; All rights reserved.
;;
-;; Copyright (C) 2007-2014, Gabriel Dos Reis.
+;; Copyright (C) 2007-2015, Gabriel Dos Reis.
;; All rights reserved.
;;
;; Redistribution and use in source and binary forms, with or without
@@ -182,6 +182,7 @@
"$targetPlatform"
"$faslType"
+ "$LispFileType"
"$delayedFFI"
"$useLLVM"
"$effectiveFaslType"