axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Re: structural decomposition


From: Gabriel Dos Reis
Subject: Re: [Axiom-developer] Re: structural decomposition
Date: 02 Apr 2007 20:09:03 -0500

address@hidden writes:

[...]

| I've changed bfLET2 to handle allow literals in
| the patterns, currently algebra layer 13 is being
| built.  I'll report when the build finishes.

It went OK.

-- Gaby
*** src/boot/ChangeLog.build-improvements       (revision 19373)
--- src/boot/ChangeLog.build-improvements       (local)
***************
*** 1,3 ****
--- 1,8 ----
+ 2007-04-02  Gabriel Dos Reis  <address@hidden>
+ 
+       * tytree1.boot.pamphlet (bfLET2): Handle literals in patterns.
+       Update cached Lisp translation.
+ 
  2007-03-24  Gabriel Dos Reis  <address@hidden>
  
        * Makefile.pamphlet: Fix typos.
*** src/boot/tytree1.boot.pamphlet      (revision 19373)
--- src/boot/tytree1.boot.pamphlet      (local)
*************** bfLET2(lhs,rhs) ==
*** 460,476 ****
      [['L%T,g,rev],:l2,bfLetForm(var1,['NREVERSE,var1])]
    lhs is ["EQUAL",var1] =>
      ['COND,[["EQUAL",var1,rhs],var1]]
!   bpSpecificErrorHere '"unexpected  LET code is generated in this line"
!   REALLYPRETTYPRINT lhs
!   bpTrap()
   
- --  -- let the IS code take over from here
- --  REALLYPRETTYPRINT lhs
- --  isPred :=
- --    $inDefIS => bfIS1(rhs,lhs)
- --    bfIS(rhs,lhs)
- --  REALLYPRETTYPRINT ['COND,[isPred,rhs]]
- --  ['COND,[isPred,rhs]]
   
  bfLET(lhs,rhs) ==
    $letGenVarCounter : local := 1
--- 460,477 ----
      [['L%T,g,rev],:l2,bfLetForm(var1,['NREVERSE,var1])]
    lhs is ["EQUAL",var1] =>
      ['COND,[["EQUAL",var1,rhs],var1]]
!   -- The original expression may be one that involves literals as 
!   -- sub-patterns, e.g.
!   --      ['SEQ, :l, ['exit, 1, x]] := item
!   -- We continue the processing as if that expression had been written
!   --      item is ['SEQ, :l, ['exit, 1, x]]
!   -- and generate appropriate codes.
!   --                  -- gdr/2007-04-02.
!   isPred :=
!     $inDefIS => bfIS1(rhs,lhs)
!     bfIS(rhs,lhs)
!   ['COND,[isPred,rhs]]
   
   
  bfLET(lhs,rhs) ==
    $letGenVarCounter : local := 1
*************** bfDs n== if n=0 then '"" else CONCAT('"D
*** 1613,1621 ****
               (|bfCONTAINED| |x| (CDR |y|))))))))
  
  (DEFUN |bfLET2| (|lhs| |rhs|)
!   (PROG (|val1| |ISTMP#3| |g| |rev| |patrev| |l2| |l1| |var2| |var1|
!                 |b| |ISTMP#2| |a| |ISTMP#1|)
!     (DECLARE (SPECIAL |$letGenVarCounter|))
      (RETURN
        (COND
          ((IDENTP |lhs|) (|bfLetForm| |lhs| |rhs|))
--- 1614,1622 ----
               (|bfCONTAINED| |x| (CDR |y|))))))))
  
  (DEFUN |bfLET2| (|lhs| |rhs|)
!   (PROG (|isPred| |val1| |ISTMP#3| |g| |rev| |patrev| |l2| |l1| |var2|
!             |var1| |b| |ISTMP#2| |a| |ISTMP#1|)
!     (DECLARE (SPECIAL |$inDefIS| |$letGenVarCounter|))
      (RETURN
        (COND
          ((IDENTP |lhs|) (|bfLetForm| |lhs| |rhs|))
*************** bfDs n== if n=0 then '"" else CONCAT('"D
*** 1734,1743 ****
           (LIST 'COND (LIST (LIST 'EQUAL |var1| |rhs|) |var1|)))
          (#1#
           (PROGN
-            (|bpSpecificErrorHere|
-                "unexpected  LET code is generated in this line")
             (REALLYPRETTYPRINT |lhs|)
!            (|bpTrap|)))))))
  
  (DEFUN |bfLET| (|lhs| |rhs|)
    (PROG (|$letGenVarCounter|)
--- 1735,1747 ----
           (LIST 'COND (LIST (LIST 'EQUAL |var1| |rhs|) |var1|)))
          (#1#
           (PROGN
             (REALLYPRETTYPRINT |lhs|)
!            (SETQ |isPred|
!                  (COND
!                    (|$inDefIS| (|bfIS1| |rhs| |lhs|))
!                    (#1# (|bfIS| |rhs| |lhs|))))
!            (REALLYPRETTYPRINT (LIST 'COND (LIST |isPred| |rhs|)))
!            (LIST 'COND (LIST |isPred| |rhs|))))))))
  
  (DEFUN |bfLET| (|lhs| |rhs|)
    (PROG (|$letGenVarCounter|)
*** src/interp/ChangeLog.build-improvements     (revision 19373)
--- src/interp/ChangeLog.build-improvements     (local)
***************
*** 1,5 ****
--- 1,18 ----
  2007-04-02  Gabriel Dos Reis  <address@hidden>
  
+       * Makefile.pamphlet (<<applu.clisp>>): Remove.
+       (<<hashcode.clisp>>): Likewise.
+       (<<interop.clisp>>): Likewise.
+       (<<xrun.clisp>>): Likewise.
+       (<<wi1.clisp>>): Likewise.
+       (<<wi2.clisp>>): Likewise.
+       (<<pspad1.clisp>>): Likewise.
+       (<<pspad2.clisp>>): Likewise.
+       (<<mark.clisp>>): Likewise.
+       * Makefile.in: Regenerate.
+ 
+ 2007-04-02  Gabriel Dos Reis  <address@hidden>
+ 
        * setvars.boot.pamphlet: Push into package "BOOT".
        Remove cached Lisp translation.
        * Makefile.pamphlet (<<newaux.lisp (OUT from MID)>>): Remove
*** src/interp/Makefile.in      (revision 19373)
--- src/interp/Makefile.in      (local)
*************** ${AUTO}/apply.$(FASLEXT): apply.$(FASLEX
*** 437,450 ****
        @ echo 9 making ${AUTO}/apply.$(FASLEXT) from apply.$(FASLEXT)
        @ cp apply.$(FASLEXT) ${AUTO}
  
- apply.clisp: apply.boot
-       @ echo 11 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "apply.boot"))' | ${DEPSYS} ; \
-          else \
-          echo '(progn (boottran::boottocl "apply.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-            fi ;
- 
  
  as.clisp: as.boot
        @ echo 417 making $@ from $<
--- 437,442 ----
*************** g-timer.clisp: g-timer.boot
*** 829,843 ****
          fi
  
  
- hashcode.clisp: hashcode.boot
-       @ echo 584 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "hashcode.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "hashcode.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
- 
  ${AUTO}/htcheck.$(FASLEXT): htcheck.$(FASLEXT)
        @ echo 453 making ${AUTO}/htcheck.$(FASLEXT) from htcheck.$(FASLEXT)
        @ cp htcheck.$(FASLEXT) ${AUTO}
--- 821,826 ----
*************** i-intern.clisp: i-intern.boot
*** 966,980 ****
          fi
  
  
- interop.clisp: interop.boot
-       @ echo 587 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "interop.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "interop.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
- 
  i-map.clisp: i-map.boot
        @ echo 304 making $@ from $<
        @ if [ -z "${NOISE}" ] ; then \
--- 949,954 ----
*************** lisplib.clisp: lisplib.boot
*** 1085,1098 ****
  ${AUTO}/mark.$(FASLEXT): mark.$(FASLEXT)
        @ cp $< $@
  
- mark.clisp: mark.boot
-       @ echo 605 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "mark.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "mark.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
  
  match.clisp: match.boot
        @ echo 339 making $@ from $<
--- 1059,1064 ----
*************** profile.clisp: profile.boot
*** 1473,1499 ****
  ${AUTO}/pspad1.$(FASLEXT):  pspad1.$(FASLEXT)
        @ cp $< $@
  
- pspad1.clisp: pspad1.boot
-       @ echo 599 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "pspad1.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "pspad1.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
- 
  ${AUTO}/pspad2.$(FASLEXT):  pspad2.$(FASLEXT)
        @ cp $< $@
  
- pspad2.clisp: pspad2.boot
-       @ echo 602 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "pspad2.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "pspad2.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi 
- 
- 
  record.clisp: record.boot
        @ echo 447 making $@ $<
        @ if [ -z "${NOISE}" ] ; then \
--- 1439,1447 ----
*************** trace.clisp: trace.boot
*** 1591,1614 ****
  
  ${AUTO}/wi1.$(FASLEXT): wi1.$(FASLEXT) 
        @ cp $< $@
- wi1.clisp: wi1.boot
-       @ echo 593 making $@ from $<
-       @ echo '(progn (boottran::boottocl "wi1.boot"))' | ${DEPSYS}
  
  ${AUTO}/wi2.$(FASLEXT):  wi2.$(FASLEXT)
        @ cp $< $@
- wi2.clisp: wi2.boot
-       @ echo 596 making $@ from $<
-       @ echo '(progn (boottran::boottocl "wi2.boot"))' | ${DEPSYS}
- 
- xrun.clisp: xrun.boot
-       @ echo 590 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "xrun.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "xrun.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
  
  ${AUTO}/xruncomp.$(FASLEXT): xruncomp.$(FASLEXT)
        @ echo 457 making ${AUTO}/xruncomp.$(FASLEXT) from xruncomp.$(FASLEXT)
--- 1539,1547 ----
*** src/interp/Makefile.pamphlet        (revision 19373)
--- src/interp/Makefile.pamphlet        (local)
*************** ${AUTO}/apply.$(FASLEXT): apply.$(FASLEX
*** 1169,1184 ****
        @ cp apply.$(FASLEXT) ${AUTO}
  
  @
- <<apply.clisp>>=
- apply.clisp: apply.boot
-       @ echo 11 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "apply.boot"))' | ${DEPSYS} ; \
-          else \
-          echo '(progn (boottran::boottocl "apply.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-            fi ;
- 
- @
  
  \subsection{bootlex.lisp \cite{9}}
  
--- 1169,1174 ----
*************** ${AUTO}/showimp.$(FASLEXT): showimp.$(FA
*** 2875,2919 ****
  
  @
  
- \subsection{hashcode.boot}
- 
- <<hashcode.clisp>>=
- hashcode.clisp: hashcode.boot
-       @ echo 584 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "hashcode.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "hashcode.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
- @
- 
- \subsection{interop.boot}
- 
- <<interop.clisp>>=
- interop.clisp: interop.boot
-       @ echo 587 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "interop.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "interop.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
- @
- 
- \subsection{xrun.boot}
- 
- <<xrun.clisp>>=
- xrun.clisp: xrun.boot
-       @ echo 590 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "xrun.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "xrun.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
- @
- 
  \subsection{wi1.boot}
  
  translate files
--- 2865,2870 ----
*************** ${AUTO}/wi1.$(FASLEXT): wi1.$(FASLEXT) 
*** 2922,2961 ****
        @ cp $< $@
  @
  
- <<wi1.clisp>>=
- wi1.clisp: wi1.boot
-       @ echo 593 making $@ from $<
-       @ echo '(progn (boottran::boottocl "wi1.boot"))' | ${DEPSYS}
- @
- 
  \subsection{wi2.boot}
  
  <<wi2.o (AUTO from MID)>>=
  ${AUTO}/wi2.$(FASLEXT):  wi2.$(FASLEXT)
        @ cp $< $@
  @
- <<wi2.clisp>>=
- wi2.clisp: wi2.boot
-       @ echo 596 making $@ from $<
-       @ echo '(progn (boottran::boottocl "wi2.boot"))' | ${DEPSYS}
- @
  
  \subsection{pspad1.boot}
  
  <<pspad1.o (AUTO from MID)>>=
  ${AUTO}/pspad1.$(FASLEXT):  pspad1.$(FASLEXT)
        @ cp $< $@
- 
- @
- <<pspad1.clisp>>=
- pspad1.clisp: pspad1.boot
-       @ echo 599 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "pspad1.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "pspad1.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
  @
  
  \subsection{pspad2.boot}
--- 2873,2890 ----
*************** pspad1.clisp: pspad1.boot
*** 2963,2979 ****
  <<pspad2.o (AUTO from MID)>>=
  ${AUTO}/pspad2.$(FASLEXT):  pspad2.$(FASLEXT)
        @ cp $< $@
- 
- @
- <<pspad2.clisp>>=
- pspad2.clisp: pspad2.boot
-       @ echo 602 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "pspad2.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "pspad2.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi 
- 
  @
  
  \subsection{mark.boot}
--- 2892,2897 ----
*************** ${AUTO}/mark.$(FASLEXT): mark.$(FASLEXT)
*** 2983,2998 ****
        @ cp $< $@
  
  @
- <<mark.clisp>>=
- mark.clisp: mark.boot
-       @ echo 605 making $@ from $<
-       @ if [ -z "${NOISE}" ] ; then \
-          echo '(progn (boottran::boottocl "mark.boot"))' | ${DEPSYS} ; \
-         else \
-          echo '(progn (boottran::boottocl "mark.boot"))' | ${DEPSYS} >> 
${TMP}/trace ; \
-         fi
- 
- @
  
  \section{The databases}
  
--- 2901,2906 ----
*************** distclean-local: clean-local
*** 3096,3102 ****
  <<databases>>
  
  <<apply.o (AUTO from OUT)>>
- <<apply.clisp>>
  
  <<as.clisp>>
  
--- 3004,3009 ----
*************** distclean-local: clean-local
*** 3189,3196 ****
  
  <<g-timer.clisp>>
  
- <<hashcode.clisp>>
- 
  <<htcheck.o (AUTO from OUT)>>
  <<htcheck.clisp>>
  
--- 3096,3101 ----
*************** distclean-local: clean-local
*** 3221,3228 ****
  
  <<i-intern.clisp>>
  
- <<interop.clisp>>
- 
  <<i-map.clisp>>
  
  <<info.o (AUTO from OUT)>>
--- 3126,3131 ----
*************** distclean-local: clean-local
*** 3248,3254 ****
  <<lisplib.clisp>>
  
  <<mark.o (AUTO from MID)>>
- <<mark.clisp>>
  
  <<match.clisp>>
  
--- 3151,3156 ----
*************** distclean-local: clean-local
*** 3341,3350 ****
  <<profile.clisp>>
  
  <<pspad1.o (AUTO from MID)>>
- <<pspad1.clisp>>
  
  <<pspad2.o (AUTO from MID)>>
- <<pspad2.clisp>>
  
  <<record.clisp>>
  
--- 3243,3250 ----
*************** distclean-local: clean-local
*** 3370,3381 ****
  <<warm.data.stanza>>
  
  <<wi1.o (AUTO from MID)>>
- <<wi1.clisp>>
  
  <<wi2.o (AUTO from MID)>>
- <<wi2.clisp>>
- 
- <<xrun.clisp>>
  
  <<xruncomp.o (AUTO from OUT)>>
  <<xruncomp.clisp>>
--- 3270,3277 ----
*** src/interp/apply.boot.pamphlet      (revision 19373)
--- src/interp/apply.boot.pamphlet      (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  oldCompilerAutoloadOnceTrigger() == nil
  
  compAtomWithModemap(x,m,e,v) ==
*** src/interp/hashcode.boot.pamphlet   (revision 19373)
--- src/interp/hashcode.boot.pamphlet   (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  -- Type hasher for old compiler style type names which produces a hash code
  -- compatible with the asharp compiler.  Takes a hard error if the type
  -- is parameterized, but has no constructor modemap.
*** src/interp/interop.boot.pamphlet    (revision 19373)
--- src/interp/interop.boot.pamphlet    (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  -- note domainObjects are now (dispatchVector hashCode . domainVector)
  -- lazy oldAxiomDomainObjects are (dispatchVector hashCode  (Call form) . 
backptr), 
  -- pre oldAxiomCategory is (dispatchVector . (cat form))
*** src/interp/mark.boot.pamphlet       (revision 19373)
--- src/interp/mark.boot.pamphlet       (local)
*************** Entire constructor is then assembled and
*** 57,62 ****
--- 57,64 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  REMPROP("and",'parseTran)
  REMPROP("or",'parseTran)
  REMPROP("not",'parseTran)
*** src/interp/pspad1.boot.pamphlet     (revision 19373)
--- src/interp/pspad1.boot.pamphlet     (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  $escapeWords := ["always", "assert", "but", "define", 
    "delay", "do", "except", "export", "extend", "fix", "fluid",
      "from", "generate", "goto", "import", "inline", "never", "select",
*** src/interp/pspad2.boot.pamphlet     (revision 19373)
--- src/interp/pspad2.boot.pamphlet     (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  --======================================================================
  --                Constructor Transformation Functions
  --======================================================================
*************** ident2PrintImage s ==
*** 582,588 ****
    u:= SUFFIX(s.(0),u)
    for i in 1..MAXINDEX s repeat
      if not (DIGITP s.i or ALPHA_-CHAR_-P s.i or ((c := s.i) = char '?) 
!       or (c = char '!)) then SUFFIX('__,u)
      u:= SUFFIX(s.i,u)
    INTERN u
   
--- 584,590 ----
    u:= SUFFIX(s.(0),u)
    for i in 1..MAXINDEX s repeat
      if not (DIGITP s.i or ALPHA_-CHAR_-P s.i or ((c := s.i) = char '?) 
!       or (c = char '_!)) then SUFFIX('__,u)
      u:= SUFFIX(s.i,u)
    INTERN u
   
*** src/interp/wi1.boot.pamphlet        (revision 19373)
--- src/interp/wi1.boot.pamphlet        (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  -- !! do not delete the next function !
  
  spad2AsTranslatorAutoloadOnceTrigger() == nil
*** src/interp/wi2.boot.pamphlet        (revision 19373)
--- src/interp/wi2.boot.pamphlet        (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  compDefineFunctor1(df, m,$e,$prefix,$formalArgList) ==
      ['DEF,form,signature,$functorSpecialCases,body] := df
      signature := markKillAll signature
*** src/interp/xrun.boot.pamphlet       (revision 19373)
--- src/interp/xrun.boot.pamphlet       (local)
***************
*** 46,51 ****
--- 46,53 ----
  <<*>>=
  <<license>>
  
+ )package "BOOT"
+ 
  $noSubsumption:=true
  --$MERGELIB := nil
  ------- from nrunopt.boot -----------





reply via email to

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