axiom-developer
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Axiom-developer] skipping boot directory


From: Waldek Hebisch
Subject: [Axiom-developer] skipping boot directory
Date: Mon, 2 Oct 2006 18:18:18 +0200 (CEST)

There was some talk recently that boot directory is not needed. Since
remowing boot would eliminate confusion between "new" and "old"
boot language I decided to try this. The following patch (based
on build-improvements branch) implements this. It turned out that
I need to tweak a few files to compile them using new boot compiler.

AFAICS the two compiler produce different code, which in some cases
may be non-equivalent. Namely, I had to move 'shoeIntern' function
defined in 'intfile.boot.pamphlet' to Lisp ('patches.lisp.pamphlet')
because the new compiler is translates 'GET' int 'GETL' and
'GETL' do not possess a setf-setter.

Before building you need to run build-setup.sh (I have skipped
patches to generated files).

The patch itself:

--- pp/build-improvements/src/Makefile.pamphlet 2006-09-29 21:09:47.000000000 
+0200
+++ build-improvements.nn/src/Makefile.pamphlet 2006-10-02 16:45:06.000000000 
+0200
@@ -178,8 +178,9 @@
 files they are built in the interp subdirectory using the
 same Makefile.
 <<interpdir>>=
-$(interp-stamp): $(boot-stamp)
+$(interp-stamp): $(lib-stamp)
        @echo 25 making ${INT}/interp
+       @$(mkinstalldirs) ${OBJ}/${SYS}/bin
        @$(mkinstalldirs) ${INT}/interp
        @$(mkinstalldirs) ${INT}/algebra
        @$(mkinstalldirs) ${OBJ}/${SYS}/interp
diff -ru pp/build-improvements/src/interp/Makefile.pamphlet 
build-improvements.nn/src/interp/Makefile.pamphlet
--- pp/build-improvements/src/interp/Makefile.pamphlet  2006-09-29 
21:09:44.000000000 +0200
+++ build-improvements.nn/src/interp/Makefile.pamphlet  2006-10-02 
16:42:56.000000000 +0200
@@ -86,7 +86,7 @@
 itself to bootstrap the system). This image is assumed to
 have been built by a previous step in the make process.
 <<environment>>=
-BOOTSYS= ${OBJ}/${SYS}/bin/bootsys    
+BOOTSYS= ${OBJ}/${SYS}/bin/depsys    
 
 @
 
diff -ru pp/build-improvements/src/interp/astr.boot.pamphlet 
build-improvements.nn/src/interp/astr.boot.pamphlet
--- pp/build-improvements/src/interp/astr.boot.pamphlet 2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/astr.boot.pamphlet 2006-10-02 
13:56:10.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --% Attributed Structures (astr)
 -- For objects which are pairs where the CAR field is either just a tag
 -- (an identifier) or a pair which is the tag and an association list.
diff -ru pp/build-improvements/src/interp/cformat.boot.pamphlet 
build-improvements.nn/src/interp/cformat.boot.pamphlet
--- pp/build-improvements/src/interp/cformat.boot.pamphlet      2006-09-08 
02:59:42.000000000 +0200
+++ build-improvements.nn/src/interp/cformat.boot.pamphlet      2006-10-02 
13:56:22.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --% Formatting functions for various compiler data objects.
 --  These are used as [%origin o, %id n] for %1f %2f... style arguments
 --  in a keyed message.
diff -ru pp/build-improvements/src/interp/cparse.boot.pamphlet 
build-improvements.nn/src/interp/cparse.boot.pamphlet
--- pp/build-improvements/src/interp/cparse.boot.pamphlet       2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/cparse.boot.pamphlet       2006-10-02 
14:37:33.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 -- npTerm introduced between npRemainder and npSum
 -- rhs of assignment changed from npStatement to npGives
 
@@ -134,8 +132,7 @@
        a
 
 npParenthesized f==
-   npParenthesize("(",")",f)   or
-   npParenthesize("(|","|)",f)
+   npParenthesize("(",")",f) or npParenthesize("(|","|)",f)
 
 npParenthesize (open,close,f)==
     a:=$stok
@@ -156,15 +153,15 @@
 
 npParened f ==
     npEnclosed("(",")",function pfParen,f) or
-    npEnclosed("(|","|)",function pfParen,f)
+      npEnclosed("(|","|)",function pfParen,f)
 
 npBracked f ==
     npEnclosed("[","]",function pfBracket,f) or
-    npEnclosed("[|","|]",function pfBracketBar,f)
+      npEnclosed("[|","|]",function pfBracketBar,f)
 
 npBraced f ==
     npEnclosed("{","}",function pfBrace,f) or
-    npEnclosed("{|","|}",function pfBraceBar,f)
+      npEnclosed("{|","|}",function pfBraceBar,f)
 
 npAngleBared f ==
     npEnclosed("<|","|>",function pfHide,f)
@@ -366,11 +363,11 @@
 
 
 npPrimary1() ==
-   npEncAp function npAtom1 or
-   npLet() or
-   npFix() or
-   npMacro() or
-   npBPileDefinition() or npDefn() or
+   npEncAp function npAtom1 or _
+   npLet() or _
+   npFix() or _
+   npMacro() or _
+   npBPileDefinition() or npDefn() or _
    npRule()
 
 npPrimary2()== npEncAp function npAtom2 -- or  npBPileDefinition()
@@ -548,17 +545,17 @@
 npIterator()==   npForIn() or npSuchThat() or npWhile()
 
 npStatement()==
-        npExpress() or
-        npLoop() or
-        npIterate() or
-        npReturn() or
-        npBreak() or
-        npFree() or
-        npImport() or
-        npInline() or
-        npLocal() or
-        npExport() or
-        npTyping() or
+        npExpress() or _
+        npLoop() or _
+        npIterate() or _
+        npReturn() or _
+        npBreak() or _
+        npFree() or _
+        npImport() or _
+        npInline() or _
+        npLocal() or _
+        npExport() or _
+        npTyping() or _
         npVoid()
 
 npBackTrack(p1,p2,p3)==
@@ -781,10 +778,10 @@
     else  npLetQualified  f
 
 npLetQualified f==
-      npEqKey "LET" and
-      (npDefinition() or npTrap()) and
-      npCompMissing "IN"  and
-      (FUNCALL f or npTrap()) and
+      npEqKey "LET" and _
+      (npDefinition() or npTrap()) and _
+      npCompMissing "IN"  and _
+      (FUNCALL f or npTrap()) and _
       npPush pfWhere(npPop2(),npPop1())
 
 
diff -ru pp/build-improvements/src/interp/cstream.boot.pamphlet 
build-improvements.nn/src/interp/cstream.boot.pamphlet
--- pp/build-improvements/src/interp/cstream.boot.pamphlet      2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/cstream.boot.pamphlet      2006-10-02 
13:56:47.000000000 +0200
@@ -60,8 +60,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --% Stream Utilities
  
 npNull x== StreamNull x
diff -ru pp/build-improvements/src/interp/dq.boot.pamphlet 
build-improvements.nn/src/interp/dq.boot.pamphlet
--- pp/build-improvements/src/interp/dq.boot.pamphlet   2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/dq.boot.pamphlet   2006-10-02 
13:56:55.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 -- Dequeue functions
  
 -- dqUnit makes a unit dq i.e. a dq with one item, from the item
diff -ru pp/build-improvements/src/interp/incl.boot.pamphlet 
build-improvements.nn/src/interp/incl.boot.pamphlet
--- pp/build-improvements/src/interp/incl.boot.pamphlet 2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/incl.boot.pamphlet 2006-10-02 
13:57:02.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
- 
 incStringStream s==
    incRenumber incLude(0,incRgen s,0,['"strings"] ,[Top])
  
diff -ru pp/build-improvements/src/interp/int-top.boot.pamphlet 
build-improvements.nn/src/interp/int-top.boot.pamphlet
--- pp/build-improvements/src/interp/int-top.boot.pamphlet      2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/int-top.boot.pamphlet      2006-10-02 
14:42:10.000000000 +0200
@@ -152,8 +152,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --% INTERPRETER TOP LEVEL
  
 <<intloopPrefix?>> 
@@ -264,8 +262,8 @@
      done:=false
      for i in (# x) - 1 .. 0 by -1 while not done repeat
          done:=
-              x.i='" ".0 =>false
-              x.i='"__".0=>
+              x.i= char " " => false
+              x.i= char "__" =>
                        esc:=true
                        true
               true
diff -ru pp/build-improvements/src/interp/intfile.boot.pamphlet 
build-improvements.nn/src/interp/intfile.boot.pamphlet
--- pp/build-improvements/src/interp/intfile.boot.pamphlet      2006-09-08 
02:59:42.000000000 +0200
+++ build-improvements.nn/src/interp/intfile.boot.pamphlet      2006-10-02 
16:47:42.000000000 +0200
@@ -46,24 +46,26 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 shoeInternFile(fn)==
    a:=shoeInputFile fn
    if null a
    then WRITE_-LINE (CONCAT(fn,'" not found"),_*TERMINAL_-IO_*)
    else shoeIntern incRgen a
  
-shoeIntern (s)==
-   StreamNull s => nil
-   f:=CAR s
-   # f < 8 => shoeIntern CDR s
-   f.0=char " " =>shoeIntern CDR s
-   a:=INTERN SUBSTRING (f,0,8)
-   [b,c]:= shoeStrings CDR s
-   SETF(GET (a,"MSGS"),b)
-   shoeIntern c
- 
+-- 
+-- The in following GET is mistranslated to GETL. To avoid the problem
+-- we use translated version from patches.lisp.pamphlet
+--
+-- shoeIntern (s)==
+--    StreamNull s => nil
+--    f:=CAR s
+--    # f < 8 => shoeIntern CDR s
+--    f.0=char " " =>shoeIntern CDR s
+--    a:=INTERN SUBSTRING (f,0,8)
+--    [b,c]:= shoeStrings CDR s
+--    SETF(GET (a,"MSGS"),b)
+--    shoeIntern c
+  
 shoeStrings (stream)==
    StreamNull stream => ['"",stream]
    a:=CAR stream
diff -ru pp/build-improvements/src/interp/macex.boot.pamphlet 
build-improvements.nn/src/interp/macex.boot.pamphlet
--- pp/build-improvements/src/interp/macex.boot.pamphlet        2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/macex.boot.pamphlet        2006-10-02 
13:57:21.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --% Macro expansion
 --  Functions to transform parse forms.
 --
diff -ru pp/build-improvements/src/interp/msg.boot.pamphlet 
build-improvements.nn/src/interp/msg.boot.pamphlet
--- pp/build-improvements/src/interp/msg.boot.pamphlet  2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/msg.boot.pamphlet  2006-10-02 
13:57:31.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --%  Messages for the USERS of the compiler.
 -- The program being compiled has a minor error.
 -- Give a message and continue processing.
diff -ru pp/build-improvements/src/interp/osyscmd.boot.pamphlet 
build-improvements.nn/src/interp/osyscmd.boot.pamphlet
--- pp/build-improvements/src/interp/osyscmd.boot.pamphlet      2006-09-08 
02:59:42.000000000 +0200
+++ build-improvements.nn/src/interp/osyscmd.boot.pamphlet      2006-10-02 
13:57:39.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 
 InterpExecuteSpadSystemCommand string ==
   CATCH($intCoerceFailure,
diff -ru pp/build-improvements/src/interp/packtran.boot.pamphlet 
build-improvements.nn/src/interp/packtran.boot.pamphlet
--- pp/build-improvements/src/interp/packtran.boot.pamphlet     2006-09-08 
02:59:42.000000000 +0200
+++ build-improvements.nn/src/interp/packtran.boot.pamphlet     2006-10-02 
15:30:09.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package 'BOOT
-
 -- The $useNewParser flag controls which parser will be used in the interpreter
 -- If nil then the old parser is used, otherwise Bill Burge's parser is used
 $useNewParser := true
diff -ru pp/build-improvements/src/interp/parini.boot.pamphlet 
build-improvements.nn/src/interp/parini.boot.pamphlet
--- pp/build-improvements/src/interp/parini.boot.pamphlet       2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/parini.boot.pamphlet       2006-10-02 
13:57:46.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 SPACE       := QENUM('"    ", 0)
 ESCAPE      := QENUM('"__  ", 0)
 STRING_CHAR := QENUM('"_"  ", 0)
diff -ru pp/build-improvements/src/interp/patches.lisp.pamphlet 
build-improvements.nn/src/interp/patches.lisp.pamphlet
--- pp/build-improvements/src/interp/patches.lisp.pamphlet      2006-09-08 
02:59:42.000000000 +0200
+++ build-improvements.nn/src/interp/patches.lisp.pamphlet      2006-10-02 
16:51:33.000000000 +0200
@@ -63,6 +63,23 @@
 (in-package "BOOT")
 ;;patches for now
 
+;;;
+;;; shoeIntern should be in boot, but we currently mistranslate GET
+;;; as GETL, so we provide Lisp version
+;;;
+;shoeIntern (s)==
+;   StreamNull s => nil
+;   f:=CAR s
+;   # f < 8 => shoeIntern CDR s
+;   f.0=char " " =>shoeIntern CDR s
+;   a:=INTERN SUBSTRING (f,0,8)
+;   [b,c]:= shoeStrings CDR s
+;   SETF(GET (a,"MSGS"),b)
+;   shoeIntern c
+
+(DEFUN |shoeIntern| (|s|) (PROG (|f| |a| |LETTMP#1| |b| |c|) (RETURN (COND 
((|StreamNull| |s|) NIL) ((QUOTE T) (SPADLET |f| (CAR |s|)) (COND ((QSLESSP 
(|#| |f|) 8) (|shoeIntern| (CDR |s|))) ((BOOT-EQUAL (ELT |f| 0) (|char| (QUOTE 
| |))) (|shoeIntern| (CDR |s|))) ((QUOTE T) (SPADLET |a| (INTERN (SUBSTRING |f| 
0 8))) (SPADLET |LETTMP#1| (|shoeStrings| (CDR |s|))) (SPADLET |b| (CAR 
|LETTMP#1|)) (SPADLET |c| (CADR |LETTMP#1|)) (SETF (GET |a| (QUOTE MSGS)) |b|) 
(|shoeIntern| |c|))))))))
+
+
 ;; browser stuff:
 #+:UNIX (defvar |$standard| 't)
 #-:UNIX (defvar |$standard| 'nil)
diff -ru pp/build-improvements/src/interp/pf2sex.boot.pamphlet 
build-improvements.nn/src/interp/pf2sex.boot.pamphlet
--- pp/build-improvements/src/interp/pf2sex.boot.pamphlet       2006-09-08 
02:59:42.000000000 +0200
+++ build-improvements.nn/src/interp/pf2sex.boot.pamphlet       2006-10-02 
13:57:58.000000000 +0200
@@ -89,8 +89,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 $dotdot := INTERN('"..", '"BOOT")
 $specificMsgTags := nil
 
diff -ru pp/build-improvements/src/interp/pile.boot.pamphlet 
build-improvements.nn/src/interp/pile.boot.pamphlet
--- pp/build-improvements/src/interp/pile.boot.pamphlet 2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/pile.boot.pamphlet 2006-10-02 
13:58:06.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 -- insertpiles converts a line-list to a line-forest where
  
 -- a line is a token-dequeue and has a column which is an integer.
diff -ru pp/build-improvements/src/interp/posit.boot.pamphlet 
build-improvements.nn/src/interp/posit.boot.pamphlet
--- pp/build-improvements/src/interp/posit.boot.pamphlet        2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/posit.boot.pamphlet        2006-10-02 
13:58:16.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 poNoPosition()    == $nopos
 pfNoPosition() == poNoPosition()
  
diff -ru pp/build-improvements/src/interp/ptrees.boot.pamphlet 
build-improvements.nn/src/interp/ptrees.boot.pamphlet
--- pp/build-improvements/src/interp/ptrees.boot.pamphlet       2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/ptrees.boot.pamphlet       2006-10-02 
13:58:25.000000000 +0200
@@ -62,8 +62,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --constructer and selectors for leaf tokens
 
 tokConstruct(hd,tok,:pos)==
diff -ru pp/build-improvements/src/interp/ptrop.boot.pamphlet 
build-improvements.nn/src/interp/ptrop.boot.pamphlet
--- pp/build-improvements/src/interp/ptrop.boot.pamphlet        2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/ptrop.boot.pamphlet        2006-10-02 
13:58:32.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 --% Utility operations on Abstract Syntax Trees
  
 -- An S-expression which people can read.
diff -ru pp/build-improvements/src/interp/scan.boot.pamphlet 
build-improvements.nn/src/interp/scan.boot.pamphlet
--- pp/build-improvements/src/interp/scan.boot.pamphlet 2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/scan.boot.pamphlet 2006-10-02 
13:58:40.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 -- Scanner
 
 --  lineoftoks  bites off a token-dq from a line-stream
diff -ru pp/build-improvements/src/interp/serror.boot.pamphlet 
build-improvements.nn/src/interp/serror.boot.pamphlet
--- pp/build-improvements/src/interp/serror.boot.pamphlet       2006-09-08 
02:59:43.000000000 +0200
+++ build-improvements.nn/src/interp/serror.boot.pamphlet       2006-10-02 
13:58:46.000000000 +0200
@@ -48,8 +48,6 @@
 
 --% Functions to handle specific errors (mostly syntax)
  
-)package "BOOT"
-
 syGeneralErrorHere() ==
    sySpecificErrorHere('S2CY0002, [])
  
diff -ru pp/build-improvements/src/interp/sfsfun.boot.pamphlet 
build-improvements.nn/src/interp/sfsfun.boot.pamphlet
--- pp/build-improvements/src/interp/sfsfun.boot.pamphlet       2006-09-08 
02:59:42.000000000 +0200
+++ build-improvements.nn/src/interp/sfsfun.boot.pamphlet       2006-10-02 
13:59:00.000000000 +0200
@@ -80,9 +80,6 @@
 <<*>>=
 <<license>>
 
--- Used to be SPECFNSF
-)package "BOOT" 
-
 FloatError(formatstring,arg) ==
 --        ERROR(formatstring,arg)
         ERROR FORMAT([],formatstring,arg)
diff -ru pp/build-improvements/src/interp/varini.boot.pamphlet 
build-improvements.nn/src/interp/varini.boot.pamphlet
--- pp/build-improvements/src/interp/varini.boot.pamphlet       2006-09-08 
02:59:44.000000000 +0200
+++ build-improvements.nn/src/interp/varini.boot.pamphlet       2006-10-02 
13:59:08.000000000 +0200
@@ -46,8 +46,6 @@
 <<*>>=
 <<license>>
 
-)package "BOOT"
-
 -- Variables to control whether old software calls the new compiler.
 $ncConverse  :=    NIL
 $newcompMode :=    NIL        -- )comp means new compiler.
--- pp/build-improvements/configure.ac.pamphlet 2006-09-29 21:09:47.000000000 
+0200
+++ build-improvements.nn/configure.ac.pamphlet 2006-10-02 17:14:21.000000000 
+0200
@@ -491,7 +491,7 @@
 needed at the moment because certain functions do not yet work on
 all platforms. 
 <<SRC_SUBDIRS>>=
-SRC_SUBDIRS="boot interp share algebra etc clef doc graph sman hyper input "
+SRC_SUBDIRS="interp share algebra etc clef doc graph sman hyper input "
 AC_SUBST(SRC_SUBDIRS)
 @
 


-- 
                              Waldek Hebisch
address@hidden 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]