axiom-developer
[Top][All Lists]
Advanced

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

[Axiom-developer] [build-improvements] Definition of global variables


From: Gabriel Dos Reis
Subject: [Axiom-developer] [build-improvements] Definition of global variables
Date: 21 May 2007 08:00:57 -0500

Hi,

  This patchlet fixes translation of Boot definition of global variables.

Currently, an assignment to a Boot global variable (which actually is a
definition) is translated to Lisp in terms of SETQ.  That elicites
irritating warnings from Lisp compilers to the effect that the
variable is undefined. The resulting share noise obscures the rest of
other useful warnings.  The fix is a one-liner.  The rest of the patch
consists of the mechnical update of the cached Lisp translation.  One
day, the latter will go away.

Applid to build-improvements.

-- Gaby

2007-05-21  Gabriel Dos Reis  <address@hidden>

        Translate definitions of global variables as defparameters.
        * ast.boot.pamphlet: Update Lisp translation.
        * includer.boot.pamphlet: Likwise.
        * tokens.boot.pamphlet: Likewise.
        * translator.boot.pamphlet (bpOutItem): Use DEFPARAMETER for
        assignment at global scope.
        Update Lisp translation.

*** ast.boot.pamphlet   (revision 15502)
--- ast.boot.pamphlet   (local)
*************** bfDs n== if n=0 then '"" else CONCAT('"D
*** 1001,1007 ****
  <<ast.clisp>>=
  (IN-PACKAGE "BOOTTRAN")
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (SETQ |$inDefIS| NIL))
  
  (DEFUN |bfGenSymbol| ()
    (PROG ()
--- 1001,1007 ----
  <<ast.clisp>>=
  (IN-PACKAGE "BOOTTRAN")
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (DEFPARAMETER |$inDefIS| NIL))
  
  (DEFUN |bfGenSymbol| ()
    (PROG ()
*** includer.boot.pamphlet      (revision 15502)
--- includer.boot.pamphlet      (local)
*************** bPremStreamNull(s)==
*** 519,525 ****
  <<includer.clisp>>=
  (IN-PACKAGE "BOOTTRAN")
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (SETQ |bStreamNil| (LIST '|nullstream|)))
  
  (DEFUN |char| (|x|) (PROG () (RETURN (CHAR (PNAME |x|) 0))))
  
--- 519,526 ----
  <<includer.clisp>>=
  (IN-PACKAGE "BOOTTRAN")
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (DEFPARAMETER |bStreamNil| (LIST '|nullstream|)))
  
  (DEFUN |char| (|x|) (PROG () (RETURN (CHAR (PNAME |x|) 0))))
  
*** scanner.boot.pamphlet       (revision 15502)
--- scanner.boot.pamphlet       (local)
*************** shoePunCons()==
*** 580,586 ****
    (PROG () (RETURN (AND (CONSP |x|) (EQ (CAR |x|) |y|)))))
    
  (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (SETQ *READ-DEFAULT-FLOAT-FORMAT* 'DOUBLE-FLOAT))
  
  (DEFUN DOUBLE (|x|) (PROG () (RETURN (FLOAT |x| 1.0))))
  
--- 580,586 ----
    (PROG () (RETURN (AND (CONSP |x|) (EQ (CAR |x|) |y|)))))
    
  (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER *READ-DEFAULT-FLOAT-FORMAT* 'DOUBLE-FLOAT))
  
  (DEFUN DOUBLE (|x|) (PROG () (RETURN (FLOAT |x| 1.0))))
  
*** tokens.boot.pamphlet        (revision 15502)
--- tokens.boot.pamphlet        (local)
*************** for i in [ _
*** 400,466 ****
  (IN-PACKAGE "BOOTTRAN")
  
  (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (SETQ |shoeKeyWords|
!         (LIST (LIST "and" 'AND) (LIST "by" 'BY) (LIST "case" 'CASE)
!               (LIST "cross" 'CROSS) (LIST "else" 'ELSE)
!               (LIST "for" 'FOR) (LIST "if" 'IF) (LIST "in" 'IN)
!               (LIST "is" 'IS) (LIST "isnt" 'ISNT) (LIST "of" 'OF)
!               (LIST "or" 'OR) (LIST "repeat" 'REPEAT)
!               (LIST "return" 'RETURN) (LIST "structure" 'STRUCTURE)
!               (LIST "then" 'THEN) (LIST "until" 'UNTIL)
!               (LIST "where" 'WHERE) (LIST "while" 'WHILE)
!               (LIST "." 'DOT) (LIST ":" 'COLON) 
!               (LIST "::" 'COLON-COLON) (LIST "," 'COMMA) 
!               (LIST ";" 'SEMICOLON) (LIST "*" 'TIMES)
!               (LIST "**" 'POWER) (LIST "/" 'SLASH) (LIST "+" 'PLUS)
!               (LIST "-" 'MINUS) (LIST "<" 'LT) (LIST ">" 'GT)
!               (LIST "<=" 'LE) (LIST ">=" 'GE) (LIST "=" 'SHOEEQ)
!               (LIST "^" 'NOT) (LIST "^=" 'NE) (LIST ".." 'SEG)
!               (LIST "#" 'LENGTH) (LIST "=>" 'EXIT) (LIST ":=" 'BEC)
!               (LIST "==" 'DEF) (LIST "==>" 'MDEF) (LIST "(" 'OPAREN)
!               (LIST ")" 'CPAREN) (LIST "(|" 'OBRACK)
!               (LIST "|)" 'CBRACK) (LIST "[" 'OBRACK) (LIST "]" 'CBRACK)
!               (LIST "suchthat" 'BAR) (LIST "'" 'QUOTE) (LIST "|" 'BAR))))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeKeyTable| (|shoeKeyTableCons|)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeSPACE| (QENUM "    " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeESCAPE| (QENUM "_  " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeLispESCAPE| (QENUM "!  " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeSTRINGCHAR| (QENUM "\"  " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoePLUSCOMMENT| (QENUM "+   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeMINUSCOMMENT| (QENUM "-   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeDOT| (QENUM ".   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeEXPONENT1| (QENUM "E   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeEXPONENT2| (QENUM "e   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeCLOSEPAREN| (QENUM ")   " 0)))
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (SETQ |shoeTAB| 9))
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) 
!   (SETQ |shoeDict| (|shoeDictCons|)))
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (SETQ |shoePun| (|shoePunCons|)))
  
  (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
    (PROG ()
--- 400,466 ----
  (IN-PACKAGE "BOOTTRAN")
  
  (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeKeyWords|
!       (LIST (LIST "and" 'AND) (LIST "by" 'BY) (LIST "case" 'CASE)
!             (LIST "cross" 'CROSS) (LIST "else" 'ELSE) (LIST "for" 'FOR)
!             (LIST "if" 'IF) (LIST "in" 'IN) (LIST "is" 'IS)
!             (LIST "isnt" 'ISNT) (LIST "of" 'OF) (LIST "or" 'OR)
!             (LIST "repeat" 'REPEAT) (LIST "return" 'RETURN)
!             (LIST "structure" 'STRUCTURE) (LIST "then" 'THEN)
!             (LIST "until" 'UNTIL) (LIST "where" 'WHERE)
!             (LIST "while" 'WHILE) (LIST "." 'DOT) (LIST ":" 'COLON)
!             (LIST "::" 'COLON-COLON) (LIST "," 'COMMA)
!             (LIST ";" 'SEMICOLON) (LIST "*" 'TIMES) (LIST "**" 'POWER)
!             (LIST "/" 'SLASH) (LIST "+" 'PLUS) (LIST "-" 'MINUS)
!             (LIST "<" 'LT) (LIST ">" 'GT) (LIST "<=" 'LE)
!             (LIST ">=" 'GE) (LIST "=" 'SHOEEQ) (LIST "^" 'NOT)
!             (LIST "^=" 'NE) (LIST ".." 'SEG) (LIST "#" 'LENGTH)
!             (LIST "=>" 'EXIT) (LIST ":=" 'BEC) (LIST "==" 'DEF)
!             (LIST "==>" 'MDEF) (LIST "(" 'OPAREN) (LIST ")" 'CPAREN)
!             (LIST "(|" 'OBRACK) (LIST "|)" 'CBRACK) (LIST "[" 'OBRACK)
!             (LIST "]" 'CBRACK) (LIST "suchthat" 'BAR) (LIST "'" 'QUOTE)
!             (LIST "|" 'BAR))))
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeKeyTable| (|shoeKeyTableCons|)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeSPACE| (QENUM "    " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeESCAPE| (QENUM "_  " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeLispESCAPE| (QENUM "!  " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeSTRINGCHAR| (QENUM "\"  " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoePLUSCOMMENT| (QENUM "+   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeMINUSCOMMENT| (QENUM "-   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeDOT| (QENUM ".   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeEXPONENT1| (QENUM "E   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeEXPONENT2| (QENUM "e   " 0)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeCLOSEPAREN| (QENUM ")   " 0)))
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL) (DEFPARAMETER |shoeTAB| 9))
  
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoeDict| (|shoeDictCons|)))
! 
! (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
!   (DEFPARAMETER |shoePun| (|shoePunCons|)))
  
  (EVAL-WHEN (:EXECUTE :LOAD-TOPLEVEL)
    (PROG ()
*** translator.boot.pamphlet    (revision 15502)
--- translator.boot.pamphlet    (local)
*************** bpOutItem()==
*** 419,425 ****
      EQCAR(b,"TUPLE")=> bpPush cdr b
      EQCAR(b,"+LINE")=> bpPush [ b ]
      b is ["L%T",l,r] and IDENTP l =>
!                  bpPush [shoeEVALANDFILEACTQ ["SETQ",l,r]]
      b:=shoeCompTran ["LAMBDA",["x"],b]
      bpPush [shoeEVALANDFILEACTQ CADDR b]
   
--- 419,425 ----
      EQCAR(b,"TUPLE")=> bpPush cdr b
      EQCAR(b,"+LINE")=> bpPush [ b ]
      b is ["L%T",l,r] and IDENTP l =>
!                  bpPush [shoeEVALANDFILEACTQ ["DEFPARAMETER",l,r]]
      b:=shoeCompTran ["LAMBDA",["x"],b]
      bpPush [shoeEVALANDFILEACTQ CADDR b]
   
*************** PSTOUT string==
*** 1369,1375 ****
                                (PROGN (SETQ |r| (CAR |ISTMP#2|)) 'T)))))
                  (IDENTP |l|))
             (|bpPush|
!                (LIST (|shoeEVALANDFILEACTQ| (LIST 'SETQ |l| |r|)))))
            ('T
             (PROGN
               (SETQ |b| (|shoeCompTran| (LIST 'LAMBDA (LIST '|x|) |b|)))
--- 1369,1376 ----
                                (PROGN (SETQ |r| (CAR |ISTMP#2|)) 'T)))))
                  (IDENTP |l|))
             (|bpPush|
!                (LIST (|shoeEVALANDFILEACTQ| 
!                          (LIST 'DEFPARAMETER |l| |r|)))))
            ('T
             (PROGN
               (SETQ |b| (|shoeCompTran| (LIST 'LAMBDA (LIST '|x|) |b|)))





reply via email to

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