aboutsummaryrefslogtreecommitdiff
path: root/src/interp
AgeCommit message (Collapse)AuthorFilesLines
2010-12-07 * interp/compiler.boot (compThrow): Remove niladic type restriction.dos-reis1-9/+5
(compCatch): Tidy. (compTry): Likewise.
2010-12-07 Add support for exception handling.dos-reis8-27/+146
* 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.
2010-12-06 * interp/metalex.lisp (KEYWORDS): Include try.dos-reis1-1/+1
* algebra/numode.spad.pamphlet: Change field try to tryValue. * algebra/multsqfr.spad.pamphlet: Change identifier try to tryCount.
2010-12-01 * interp/sys-driver.boot (executeSpadScript): Inform the systemdos-reis2-1/+2
that we are going to read from a file. * interp/g-error.boot(handleLispBreakLoop): Return to reading from file if that was what were doing. * input/Makefile.in (TESTSYS): Use driver and --test option. (%.output): Simplify.
2010-12-01 * interp/sys-driver.boot (executeSpadScript): Handle --testdos-reis2-2/+7
option. * interp/setvars.boot (setOutputAlgebra): Control informative message about algebra stream redirection by $verbose.
2010-11-30 Fix SF/2110371dos-reis4-32/+43
* interp/i-toplev.boot (recordAndPrint): Tidy. (SpadInterpretFile): Move to int-top.boot. * interp/int-top.boot (ncINTERPFILE): Simplify. (ncloopPrintLines): Output onto the standard output stream. (ncloopIncFileName): Issue diagnostic on error output stream. * interp/setvars.boot (setOutputAlgebra): Fix thinko. (setStandardOutputToAlgebraStream): New. * interp/sys-driver.boot (executeSpadScript): Use it. Set verbosity level as appropriate. Redirect output if requested.
2010-11-29Add support for translator and linker in the driverdos-reis1-9/+14
2010-11-27 * Makefile.am: Automake Makefile.in.dos-reis1-1/+1
* Makefile.in: Regenerate.
2010-11-16 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include %s2cdos-reis4-5/+33
builtin. * interp/g-util.boot (stringToChar): New. (expandCst): Use it. (expandS2c): Likewise. New. * interp/spad.lisp (|$Newline): Move to interp/sys-macros.lisp. * interp/sys-macros.lisp (|$Backspace): New. (|$HorizontalTab|): Likewise. (|$VerticalTab|): Likewise. (|$FormFeed|): Likewise. (|$CarriageReturn|): Likewise. * algebra/string.spad.pamphlet (Character) [newline]: New. [carriageReturn]: Likewise. [linefeed]: Likewise. [formfeed]: Likewise. [backspace]: Likewise. [horizontalTab]: Likewise. [verticalTab]: Likewise. [char]: Tidy.
2010-11-05 * algebra/Makefile.pamphlet: Likewise.dos-reis2-672/+46
* interp/Makefile.pamphlet: Remove.
2010-10-28 * interp/c-util.boot: Cleanup.dos-reis2-110/+11
2010-10-27 * interp/c-util.boot (makeCommonEnvironment): Use list node pointerdos-reis1-5/+5
comparaison, not object comparaison.
2010-09-07 * interp/c-util.boot (massageBackendCode): Remove conditional ondos-reis2-8/+11
$NEWSPAD since it always true. Keep note of Lisp-level special variable even if it is set with SETQ. (transformToBackendCode): Declare special variables before fluid and local variables. * interp/compiler.boot: Don't compile SETQ forms as if they were Spad codes.
2010-08-25 * interp/i-output.boot (newlineIfDisplaying): New. dos-reis3-18/+51
(mathprintWithNumber): Take type of value as second argument. (maprinChk): Tidy. (maprinRows): Likewise. (spadPrint): Likewise. (output): Likewise. (printMap): Likewise. (bracketagglist): Likewise. (mathPrint): Likewise. (mathPrint1): Likewise. * interp/i-toplev.boot (recordAndPrint): Likewise. * interp/setvart.boot: Introduce flag for asgard forms.
2010-08-25 * interp/br-saturn.boot ($saturn): Define here.dos-reis10-185/+19
* interp/br-search.boot: Remove $saturn-related codes. * interp/g-error.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/patches.lisp: Likewise.
2010-08-22 * interp/compiler.boot (getBootType): Prefix Mapping with %.dos-reis1-3/+3
(checkExternalEntity): Likewise. Do same with Signature.
2010-08-21 External tool noweb is no longer required.dos-reis2-6/+2
* INSTALL: Update instructions. * Makefile.pamphlet: Remove rules for building noweb. (AXIOM_SRC_TARGETS): Include all-utils. * config/open-axiom.m4 (OPENAXIOM_BUILD_TOOLS): Don't check for notangle and noweave. * config/setup-dep.mk: Remove rules for generating document. * config/var-def.mk: Remove NOTANGLE and NOWEAVE variables. * configure.ac: Instantiate Makefile for src/utils.
2010-08-08do insist that default float format is double-float everywheredos-reis1-0/+5
2010-07-29 * algebra/sf.spad.pamphlet (DoubleFloat): Use builtindos-reis2-0/+19
trigonometric functions. * interp/g-opt.boot ($VMsideEffectFreeOperators): Include them. * interp/g-util.boot: Expand them. * include/edible.H1: Move declarations to clef/edible.c. Remove. * driver/utils.h: Give G linkage to declarations. * sman/Makefile.in: Link programs against C++ runtime.
2010-07-29 * interp/c-util.boot (removeToplevelRETURN_-FROM): New.dos-reis1-1/+11
(transformToBackendCode): Use it to clean function body.
2010-07-28 * interp/spad.lisp (DIVIDE2): Remove.dos-reis12-46/+41
* interp/vmlisp.lisp (QSQUOTIENT): Likewise. (QSREMAINDER): Likewise. * interp/buildom.boot: Use quo and rem in leur of QUOTIENT and REMAINDER or variants. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-output.boot: Likewise. * interp/incl.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/topics.boot: Likewise.
2010-07-28 * interp/sys-globals.boot ($VariableCount): Remove.dos-reis4-19/+6
* interp/spad.lisp (QUOTIENT2): Remove. (REMAINDER2): Likewise. * algebra/integer.spad.pamphlet (Integer): Use builtin %idivide. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-28 * algebra/integer.spad.pamphlet (Integer): Use builtin functionsdos-reis1-11/+13
%irem and %iquo. * algebra/si.spad.pamphlet (SingleInteger): Likewise.
2010-07-28 * interp/g-opt.boot: Transform %iquo and %irem expressions.dos-reis1-0/+11
($VMsideEffectFreeOperators): Include %irem and %iquo.
2010-07-27 * interp/i-analy.boot (bottomUpCompile): Use massageBackendCode indos-reis1-1/+1
lieu of mutateToBackendCode.
2010-07-27 * interp/types.boot (%Code): Include %Char.dos-reis2-12/+12
* interp/c-util.boot (middleEndExpand): Temporarilty Comment out signature.
2010-07-27Misc cleanupdos-reis5-35/+35
2010-07-26 * interp/g-opt.boot (optCond): Work harder at denesting nesteddos-reis1-6/+5
if-expressions.
2010-07-26 * interp/g-opt.boot ($VMsideEffectFreeOperators): Include newdos-reis2-10/+18
opcodes %icst0, %icst1, %when, and %ccst. * interp/g-util.boot: Expand %ccst. * algebra/alql.spad.pamphlet: Clean up. * algebra/array1.spad.pamphlet: Likewise. * algebra/c02.spad.pamphlet: Likewise. * algebra/d03.spad.pamphlet: Likewise. * algebra/e04.spad.pamphlet: Likewise. * algebra/integer.spad.pamphlet: Likewise. * algebra/si.spad.pamphlet: Likewise. * algebra/string.spad.pamphlet: Likewise.
2010-07-26 * algebra/si.spad.pamphlet (SingleInteger): Tidy.dos-reis1-0/+8
* interp/g-opt.boot (simplifyVMForm): Expand %icst0 and %icst1. (optIlt): Fold more configurations.
2010-07-26 * interp/g-opt.boot (optCond): Simplify newly built COND-expression.dos-reis1-1/+1
2010-07-26 * interp/g-opt.boot (optimize): Remove as no longer used.dos-reis3-26/+4
* interp/define.boot (DomainSubstitutionFunction): Use simplifyVMForm in lieu of optimize. * interp/nruncomp.boot (NRTsetVector4a): Likewise.
2010-07-26 * interp/g-opt.boot (oprCond): Replace use of TruthP with directdos-reis1-2/+2
comparison to %true.
2010-07-25 (optCallSpecially): Remove deadcode.dos-reis2-12/+1
2010-07-25 * interp/g-opt.boot (optCall): Don't call optimize again.dos-reis1-14/+13
2010-07-25use simplifyVMForm instead of optimizedos-reis1-1/+1
2010-07-25 * interp/g-opt.boot (simplifyVMForm): Don't call optimize.dos-reis1-3/+16
(optCall): Handle VM macro expansions here.
2010-07-25 * interp/g-opt.boot (resetTo): New.dos-reis3-10/+17
(optCatch): Use it. (optCall): Likewise. (optSpecialCall): Likewise. (simplifyVMForm): Handle simple cases here. * interp/macros.lisp (RPLACW): Remove.
2010-07-25 * interp/g-opt.boot (optIadd): More simplification if either dos-reis1-0/+6
operand is zero. (optIsub): Likewise. (optImul): More simplifications if either operand is one.
2010-07-25 * interp/c-util.boot (usedSymbol?): Move to g-util.boot.dos-reis6-22/+25
* interp/nruncomp.boot (NRTsetVector4a): Tidy.
2010-07-25 * interp/cattable.boot: Use %true for truth value in VM expressions.dos-reis13-58/+43
* interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/mark.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/slam.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/sys-constants.boot: Remove $true and $false as unused.
2010-07-24 * interp/compiler.boot (compMatchAlternative): Don't generatedos-reis2-6/+13
LET-expressions. * interp/g-opt.boot (optBind): Tidy.
2010-07-23 * interp/g-opt.boot (optBind): Check for dependencies indos-reis2-8/+9
initializations in %bind expressions. * interp/g-util.boot (expandBind): The body of s %bind expression may be a sequence of statements.
2010-07-23 * interp/g-util.boot: Remove expansion for %ble, %bgt, %bge.dos-reis2-19/+17
* interp/g-opt.boot (optMINUS): Remove. (opt_-): Likewise. (optBle): New. (optBgt): Likewise. (optBge): Likewise.
2010-07-23 * interp/g-opt.boot (optMINUS): Remove.dos-reis1-31/+10
(opt_-): Likewise.
2010-07-23 * interp/g-util.boot (expandFeq): New.dos-reis1-1/+6
* algebra/sf.spad.pamphlet (DoubleFloat): Tidy.
2010-07-22more cleanupdos-reis1-3/+3
2010-07-22 * interp/g-util.boot (expandIeq): New expander for %ieq.dos-reis5-8/+42
* interp/g-opt.boot (optIeq): New. (optIadd): Likewise. (optIsub): Likewise. (optImul): Likewise. (optIneg): Likewise. (lispize): Remove.
2010-07-22 * interp/g-opt.boot (simplifyVMForm): New.dos-reis1-6/+59
(optRetract): Simplify the predicate when possible. (optNot): New transformer. (optAnd): Likewise. (optOr): Likewise. (optIlt): Likewise. (optIle): Likewise. (optIgt): Likewise. (optIge): Likewise.
2010-07-22 * algebra/data.spad.pamphlet (Byte) [~]: Tidy.dos-reis2-7/+27
(SystemNonNegativeInteger) [~]: Likewise. * interp/g-util.boot: Better expansion of byte operations.