Hi,

  This patchlet fixes a thinko in src/interp/newfort.boot.
The short explanation is that the use of "!" does not math the
"specification" in src/boot/Makefile

   The standard identifiers start with a letter (a-z or A-Z) dollar
   sign (\$), question mark (?), or the percent sign (%), and are 
   followed by any number of letters, digits, single quotes('),
   question marks, or percent signs.  It is possible however, by using
   the escape character (\_), to construct identifiers that contain
   any characters except the blank or newline character.


The long explanation is delayed, but in nutshell "!" is the escape
character in new Boot for introducing Lisp expressions in Boot.  It
needs to be escaped when used as part of an identifier.  I uncovered
this when translating newfort.boot with bootsys (new Boot translator).

-- Gaby

2006-10-28  Gabriel Dos Reis  <[EMAIL PROTECTED]>

        * newfort.boot.pamphlet (updateSymbolTable): Escape ! in names.
 
*** newfort.boot.pamphlet       (revision 15931)
--- newfort.boot.pamphlet       (local)
*************** currentSP () ==
*** 743,749 ****
    $currentSubprogram or "MAIN"
   
  updateSymbolTable(name,type) ==
!     fun := ['$elt,'SYMS,'declare!]
      coercion := ['_:_:,STRING type,'FST]
      $insideCompileBodyIfTrue: local := false
      interpret([fun,["QUOTE",name],coercion])
--- 743,749 ----
    $currentSubprogram or "MAIN"
   
  updateSymbolTable(name,type) ==
!     fun := ['$elt,'SYMS,'declare_!]
      coercion := ['_:_:,STRING type,'FST]
      $insideCompileBodyIfTrue: local := false
      interpret([fun,["QUOTE",name],coercion])


_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer

Reply via email to