Age | Commit message (Collapse) | Author | Files | Lines |
|
generate Lisp code directly.
(canReturn): Don't look into CLOSEDFN forms.
|
|
* interp/slam.boot: Likewise.
|
|
backend module.
* interp/Makefile.in (OBJS): Include it.
(lisp-backend.$(FASLEXT)): New rule.
|
|
* algebra/lie.spad.pamphlet (AssociatedLieAlgebra): Likewise.
(AssociatedJordanAlgebra): Likewise.
(LieSquareMatrix): Likewise.
|
|
non-extension.
|
|
|
|
(optSpeciallCall): Likeise.
(optCall): Adjust.
(optCallEval): Move to wi2.boot, sole user.
|
|
* algebra/data.spad.pamphlet: Tidy.
* algebra/plot.spad.pamphlet: Likewise.
* algebra/plot3d.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/syntax.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: Remove use of NULL$Lisp.
|
|
QCAR. SYMBOLP, GREATERP.
Add %ibit, %ilength, %ident, %equal.
* interp/g-util.boot: Expand them
* algebra/any.spad.pamphlet: Tidy.
* algebra/catdef.spad.pamphlet: Likewise.
* algebra/data.spad.pamphlet: Likewise.
* algebra/domain.spad.pamphlet: Likewise.
* algebra/float.spad.pamphlet: Likewise.
* algebra/fname.spad.pamphlet: Likewise.
* algebra/integer.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/random.spad.pamphlet: Likewise.
* algebra/sex.spad.pamphlet: Likewise.
* algebra/si.spad.pamphlet: Likewise.
* algebra/symbol.spad.pamphlet: Likewise.
* algebra/syntax.spad.pamphlet: Likewise.
|
|
QSETVELT-1, QSINC1, QVELT, QVELT-1.
* algebra/si.spad.pamphlet: Use %iinc and %idec forms.
|
|
|
|
|
|
(compExpressionList): Likewise.
(compCons1): Likewise.
(compList): Likewise.
(compVector): Likewise.
* interp/g-timer.boot (timedEvaluate): Likewise.
* interp/wi1.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/i-object.boot: Likewise.
* interp/g-opt.boot (optMkRecord): Likewise.
(optRECORDCOPY): Likewise.
(optLIST): Remove.
(optListlit): New.
* interp/g-util.boot (optListlit): New. Expand %listlit forms.
|
|
($VMsideEffectFreeOperators): Include %listlit and %veclit.
* interp/g-util.boot: Translate them.
|
|
* interp/g-opt.boot (optSETRECORDELT): Tidy code generation.
(optRECORDCOPY): Likewise.
(optRECORDELT): Likewise.
($VMsideEffectFreeOperators): Include %aref. Translate.
|
|
* interp/alql.boot: Use integer? instead of FIXP.
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/fnewmeta.lisp: Likewise.
* interp/ht-root.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/showimp.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/topics.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
* interp/word.boot: Likewise.
|
|
* interp/g-opt.boot (opt2bit): New.
(opt2bool): Likewise.
* interp/bits.lisp (BVEC-SIZE): Remove.
(BVEC-COPY): Likewise.
(BVEC-CONCAT): Likewise.
(BVEC-EQUAL): Likewise.
(BVEC-AND): Likewise.
(BVEC-OR): Likewise.
(BVEC-XOR): Likewise.
(BVEC-NAND): Likewise.
(BVEC-NOR): Likewise.
(BVEC-NOT): Likewise.
* algebra/boolean.spad.pamphlet (IndexedBits): Remove uses of
Lisp-level functions.
|
|
value argument evaluation.
(lazyMatch): Check for %llength too.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %2bit
and %2bool.
* interp/g-util.boot: Expand them.
* interp/define.boot (compJoin): Check for %llenght too.
* algebra/boolean.spad.pamphlet: Tidy.
* algebra/domain.spad.pamphlet: Likewise.
* algebra/draw.spad.pamphlet: Likewise.
* algebra/files.spad.pamphlet: Likewise.
* algebra/list.spad.pamphlet: Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/sex.spad.pamphlet: Likewise.
* algebra/sf.spad.pamphlet: Likewise.
|
|
|
|
%cdown.
* interp/g-util.boot: Expand them.
* interp/vmlisp.lisp (QESET): Remove.
* algebra/string.spad.pamphlet (String): Don't use QESET.
|
|
builtin functions %strlt, %streq, %strcopy, and %strconc.
* interp/g-util.boot: Expand them.
* algebra/string.spad.pamphlet (String): Remove uses of
Lisp-level functions CHAR, EQUAL, CHAR=, ans SXHASH.
|
|
(QSTRINGLENGTH): Likewise.
(STRINGLENGTH): Likewise.
* interp/g-opt.boot ($VMsideEffectFreeOperators): Include %i2s.
* interp/g-util.boot: Expand it.
* interp/debug.lisp (/LOCATE): Replace STRINGLENGTH with LENGTH.
* algebra/fortran.spad.pamphlet: Don't use STRINGIMAGE from Lisp.
* algebra/generic.spad.pamphlet: Likewise.
* algebra/naalg.spad.pamphlet: Likewise.
* algebra/naalgc.spad.pamphlet: Likewise.
* algebra/outform.spad.pamphlet: Likewise.
* algebra/string.spad.pamphlet: Likewise.
|
|
* interp/g-util.boot: Expand it.
* algebra/string.spad.pamphlet (String): Remove use of QCSIZE.
|
|
* boot/ast.boot: Replace IDENTP with symbol? where appropriate.
* boot/parser.boot: Likewise.
* boot/translator.boot: Likewise.
|
|
* boot/tokens.boot (shoeStartsId): Move from initial-env.lisp
(shoeIdChar): Likewise.
* boot/initial-env.lisp (CHARMEM): Remove.
|
|
instead of Lisp-level UNWIND-PROTECT.
|
|
(REFVECP): Likewise.
(CVECP): Likewise.
(QMEMQ): Likewise.
* interp/bootlex.lisp (TRANSLABEL1): Adjust.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/category.boot: Likewise.
* interp/database.boot: Likewise.
* interp/debug.lisp: Likewise.
* interp/format.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-cndata.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/ggreater.lisp: Likewise.
* interp/guess.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-resolv.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/interop.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/union.lisp: Likewise.
* interp/trace.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/pathname.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/msg.boot: Likewise.
* interp/match.boot: Likewise.
* interp/word.boot: Likewise.
|
|
with try/finally.
(BOOTTOCLC): Likewise.
|
|
(MAKE-VEC): Likewise.
(MAKE-CVEC): Likewise.
|
|
* boot/scanner.boot (shoeIntValue): Tidy.
(shoeSubString): Likewise.
* boot/tokens.boot (shoeInsert): Likewise.
(shoeDictCons): Likewise.
|
|
masquerading as constructors.
|
|
symbols.
|
|
* interp/i-toplev.boot (printTypeAndTimeNormal): Likewise.
* interp/msgdb.boot (applyPrefix2String): Likewise.
|
|
(substituteSegmentedMsg): Use to implement documented behaviour
of formatting code P.
* interp/i-analy.boot (printableArgModeSetList): Don't call
prefix2String here.
(bottomUpForm0): Likewise.
|
|
* interp/sys-utility.boot (stringImage): New.
* interp/format.boot (form2String1): Use it. Tidy.
|
|
* interp/sys-driver.boot (executeSpadScript): Announce input file.
|
|
* interp/i-output.boot: Fix type violation in equality comparison.
|
|
|
|
primitive UNWIND-PROJECT.
* interp/int-top.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/server.boot: Likewise.
* boot/parser.boot (bpHandler): Allow semicolon separation.
|
|
* boot/parser.boot (bpMissing): Use a BootParserException exception.
(bpTrap): Likewise.
(bpListAndRecover): Catch them.
* boot/parser.boot (shoeOutParse): Likewise.
* boot/ast.boot (bfHandlers): Fix thinko.
(codeForCatchHandlers): Likewise.
|
|
(bpTry): Rewrite.
(bpTry): Likewise.
(bpSimpleCatch): Remove.
(bpPiledCatchItems): Likewise.
(bpCatchItemList): Likewise.
(bpExceptionHead): Likewise.
(bpExceptionTail): Likewise.
(bpExceptionVariable): New.
(bpFinally): Likewise.
* boot/ast.boot (%Ast): Add %Pretend and %Finally.
%Catch now takes two arguments.
(bfTry): Rewrite.
(bfThrow): Likewise.
(bfHandlers): New.
(codeForCatchHandlers): Likewise.
* boot/translator.boot (shoeOutParse): Use Lisp-level CATCH.
|
|
* interp/alql.boot: Clean up.
* interp/br-con.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-op2.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/br-search.boot: Likewise.
* interp/br-util.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/format.boot: Likewise.
* interp/g-error.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/msgdb.boot: Likewise.
* interp/newfort.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/trace.boot: Likewise.
|
|
|
|
|
|
PARSE-GlyphTok.
(PARSE-GlyphTok): Now accept string instead of symbol.
* interp/parsing.lisp (MATCH-ADVANCE-GLYPH): Remove as redundant.
|
|
(PARSE-OpenBrace): Likewise.
|
|
* interp/fnewmeta.lisp: Replace MATCH-ADVANCE-STRING with
MATCH-ADVANCE-KEYWORD when matching for keywords.
|
|
(compCatch): Tidy.
(compTry): Likewise.
|
|
* interp/parsing.lisp (TEST-LEXING): Remove.
(RTRACE): Likewise.
(RUNTRACE): Likewise.
(MATCH-ADVANCE-KEYWORD): New.
(MATCH-ADVANCE-GLYPH): Likewise.
(MATCH-ADVANCE-SPECIAL): Likewise.
(MATCH-SPECIAL): Likewise.
(MATCH-KEYWORD-NEXT): Likewise.
* interp/newaux.lisp: Make try and throw prefix operators.
* interp/metalex.lisp (KEYWORDS): Include finally, catch and throw.
* interp/fnewmeta.lisp (PARSE-Throw): New. Parse throw-expressions.
(PARSE-Catch): New. Parse catch-expressions.
(PARSE-Finally): New. Parse finally-expressions.
(PARSE-Try): New. Parse try-expressions.
* interp/compiler.boot (compThrow): New. Register to compile
throw-expressions.
(compTry): New. Register to compiler try-expressions.
(compCatch): New. Compile catch-handler expression.
* interp/g-opt.boot (optTry): New. Simplify simple expressions in
the try operand.
* interp/g-util.boot (expandThrow): New. Expand %throw forms.
(domainMatchCode): New.
(expandTry): New. Expand %try forms.
* doc/msgs/s2-us.msgs: Add new message with key S2GE0020.
* interp/g-error.boot (systemErrorHandler): Handle possible
uncaucght expression condition.
|
|
* algebra/numode.spad.pamphlet: Change field try to tryValue.
* algebra/multsqfr.spad.pamphlet: Change identifier try to tryCount.
|