axiom-developer
[Top][All Lists]
Advanced

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

Re: [Axiom-developer] Boot


From: root
Subject: Re: [Axiom-developer] Boot
Date: Sun, 1 Oct 2006 21:42:36 -0400

>   Where are the source files for the "old" boot compiler located, and
> where are the source files for the "new". 
> 
> I know you said "new" is meaningless, but apparently we have may have
> at least two boot compiler, one "old, and one "new".  Which is which?

you believe i know the answer to this question.
unfortunately i don't. but lets see what there is to find:

in boot/ptyout.boot there is a function in the package BOOTTRAN
called BOOTTOCL.

ptyout/bootran::boottocl
 -> boottocllines
  -> shoeClLines
   -> shoeFileTrees
    -> shoeTransformStream
     -> shoeTransformString
      -> showTransform
       -> showTreeConstruct
        -> showPileInsert
         -> btscan2/showLineToks
          -> btscan2/shoeToken



in util.lisp there is a function in the package BOOTRAN 
called BOOTTOCL.


util/bootran::boottocl
 -> boot::boot
  -> bootlex/boot::PARSE-Expression
   -> new2oldlisp
    -> postpar/postTransform
     -> new2OldTran
      -> newConstruct
       -> construct




i have two reasons to believe that the ptyout version of boot which
lives in the src/boot directory is the latest version. 

first, bill burge loved puns and i remember him explaining to me
that the latest version of boot was much better and more comfortable,
thus he was changing over to calling it 'shoe'. this 'shoe' shows up
in the src/boot/ptyout version.

second, the old boot parser language shared a lot in common with
the compiler. the new boot parser was written after the compiler.
the interp version in util uses things like new2OldTran because
we needed to do translations from the new boot language back to
the old boot language for compatibility.

thus it seems there are 2 boot languages implemented (but not defined).
my belief (but i don't remember) is that the src/boot directory came 
into being as part of the process of switching to the new boot/shoe
language.

you'll notice that the makefile in the src/boot directory explicitly
translates using the BOOTSYS image which contains the 'shoe' parser.
the makefile in the src/interp directory explicitly translates using
the DEPSYS image which only contains interpreted lisp files from
the interp directory and is NOT the same as the boot/shoe version.

rather than referring to them both as boot perhaps we should call
the one in the src/boot directory 'shoe', following bill's convention.

t





reply via email to

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