[Top][All Lists]
[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 -----------