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