Age | Commit message (Collapse) | Author | Files | Lines |
|
Remove unused parse functions.
|
|
* interp/g-opt.boot ($simpleVMoperators): New.
(isSimpleVMForm): Likewise.
(isFloatableVMForm): Likewise.
(optLET): Likewise. Expand backend let-forms.
* interp/c-util.boot (foldSpadcall): Look into LET and COND forms.
(replaceSimpleFunctions): Likewise.
(mutateCONDFormWithUnaryFunction): New.
(mutateLETFormWithUnaryFunction): Likewise.
* interp/compiler.boot (tryCourtesyCoercion): Split from coerce.
(compRetractAlternative): Simplify. Now try courtesy coercions
before retraction.
(compRecoverAlternative): New.
(compMatch): Simplify. Implement type recovery too.
2008-12-06 Gabriel Dos Reis <gdr@cs.tamu.edu>
* interp/compiler.boot (compRetractAlternative): New.
(compMatch): Likewise. Use it to implement pattern macthing
for retractable domains.
* interp/parse.boot (parseAtAt): New.
* interp/postpar.boot (postAtAt): Likewise.
(postAlternatives): Likewise.
(postMatch): Likewise.
* interp/metalex.lisp (Keywords): Remove `otherwise' as keyword.
* interp/fnewmeta.lisp (|PARSE-Match|): New local parser.
* interp/newaux.lisp (@@): New token. Align wih interpreter.
(otherwise): Remove binding specification.
(case): Now also a Nud token.
|
|
|
|
|
|
* interp/c-util.boot: Likewise.
* interp/comp.lisp: Likewise.
* interp/compiler.boot: Likewise.
* interp/cparse.boot: Likewise.
* interp/def.lisp: Likewise.
* interp/define.boot: Likewise.
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-intern.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-spec1.boot: Likewise.
* interp/i-spec2.boot: Likewise.
* interp/iterator.boot: Likewise.
* interp/mark.boot: Likewise.
* interp/newaux.lisp: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunopt.boot: Likewise.
* interp/package.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pf2atree.boot: Likewise.
* interp/pf2sex.boot: Likewise.
* interp/postpar.boot: Likewise.
* interp/property.lisp: Likewise.
* interp/pspad1.boot: Likewise.
* interp/pspad2.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/spad.lisp: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
(parseNotEqual): Likewise.
* interp/compiler.boot (compCompilerPredicate): New.
(compileNot): Use it.
* interp/define.boot (compSubDomain1): Likewise.
(doItIf): Likewise.
* interp/bootlex.lisp (boot): Set $nornamizeTree.
* algebra/Makefile.pamphlet (axiom_algebra_layer_9): Move from
layer 4 to here.
|
|
tree codes.
(parseConstruct): Handle parse tree code.
(parseUpArrow): Likewise.
(parseLeftArrow): Likewise.
(parseIs): Likewise.
(parseIsnt): Likewise.
(parseLET): Likewise.
(parseLETD): Likewise.
(parseColon): Likewise.
(parseBigelt): Likewise.
(parseCoerce): Likewise.
(parseAtSign): Likewise.
(parsePretend): Likewise.
(parseHas): Likewise.
(parseDEF): Likewise.
(parseMDEF): Likewise.
(parseCategory): Likewise.
(parseGreaterThan): Likewise.
(parseGreaterEqual): Likewise.
(parseLessEqual): Likewise.
(parseNotEqual): Likewise.
(parseAnd): Likewise.
(parseOr): Likewise.
(parseEquivalence): Likewise.
(parseImplies): Likewise.
(parseExclusiveOr): Likewise.
(parseExit): Likewise.
(parseLeave): Likewise.
(parseReturn): Likewise.
(parseJoin): Likewise.
(parseInBy): Likewise.
(parseSegment): Likewise.
(parseIn): Likewise.
(parseIf): Likewise.
(parseWhere): Likewise.
(parseSeq): Likewise.
(parseVCONS): Likewise.
|
|
Update all boot files to use `namespace' instead of `)package'.
* interp/: Likewise.
|
|
* interp/functor.boot: Likewise.
* interp/g-opt.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/nrunfast.boot: Likewise.
* interp/package.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/pspad1.boot: Likewise.
* interp/record.boot: Likewise.
* interp/template.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/wi1.boot: Likewise.
* interp/wi2.boot: Likewise.
|
|
* boot/includer.boot: Likewise.
* boot/parser.boot: Likewise.
* boot/pile.boot: Likewise.
* boot/scanner.boot: Likewise.
* boot/tokens.boot: Likewise.
* boot/translator.boot: Likewise.
* boot/strap: Update Lisp translation.
* lisp/core.lisp.in: Tidy.
|
|
Old Boot.
* interp/parse.boot (parseTypeEvaluate): Remove.
(parseTypeEvaluateArgs): Likewise.
(parseType): Don't evaluate type during parsing.
($oldParserExpandAbbrs): Remove.
(parseTypeError): Likewise.
(specialModeTran): Likewise.
|
|
|
|
|
|
(parseDollarGreaterEqual): Likewise.
(parseDollarLessEqual): Likewise.
(parseDolloarNotEqual): Likewise.
|
|
functions `parameters' and `body'.
* algebra/domain.spad.pamphlet: Rename from algebra/domain.spad.
(Category): New category.
* algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include
CATEGORY.o.
(DOMAIN.NRLIB/code.$(FASLEXT)): Remove rule.
* interp/trace.boot (transTraceItem): Use $LangSupportTypes.
* interp/sys-constants.boot ($None): New.
($Type): Likewise.
($LangSupportTypes): Likewise.
* interp/parse.boot (parseHas): Use $LangSupportTypes.
(parseHasRhs): Likewise.
* interp/i-spec2.boot (upLETtype): Use conceptualType.
(uptypeOf): Likewise.
(upwhere): Likewise.
(typeOfType): Remove.
* interp/i-spec1.boot (isDomainValuedVariable): Variables with
type Category and Type are domain valued too.
* interp/i-output.boot (output): Special case only Mode and Type.
* interp/i-funsel.boot (selectMms): Don't ignore modemaps with
category parameters.
* interp/i-coerce.boot (canCoerce1): Test for Category instead of
SubDomain Domain.
(canCoerceFrom0): Use $None and $Any.
(absolutelyCannotCoerce): Use $None.
(coerceInteractive): Use $LangSupportTypes.
(coerceInt1): Use $Any.
* interp/i-analy.boot (conceptualType): New.
(bottomUpType): Use it.
* interp/clammed.boot (isValidType): Use $LangSupportTypes.
* interp/g-cndata.boot (isNameOfType): Likewise.
* interp/category.boot (Category): Remove hacky definition.
* interp/buildom.boot ($noCategoryDomains): Domain now has a
Lisplib.
|
|
* interp/nruncomp.boot ($Slot1DataBase): Define here.
* interp/parse.boot ($oldParserExpandAbbrs): Likewise.
* interp/define.boot ($mutableDomains): Define here.
(compDefineFunctor1): Tidy.
(clearCmdCompletely): Don't set $functionTable.
|
|
* interp/postpar.boot (postError): Fix thinko.
* interp/parse.boot ($defOp): Define.
* testsuite/compiler/1867459.spad: New.
|
|
|
|
2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu>
* Makefile.pamphlet (boot_objects_extra): New.
(stage0/bootsys$(EXEEXT)): Use it.
(stage1/bootsys$(EXEEXT)): Likewise.
(stage2/bootsys$(EXEEXT)): Likewise.
src/lisp/
2007-12-02 Gabriel Dos Reis <gdr@cs.tamu.edu>
* Makefile.pamphlet (base_lisp_objects): New. Abstract over
Lisp compilation models.
(core.$(FASLEXT)): Tidy.
* core.lisp.in (|getOutputPathname|): Make unary.
(|link|): Make sure object files are used to construct ECL
programs.
(|makeHandler|): Adjust.
(|compileLispFile|): Likewise.
|
|
* Makefile.pamphlet (OPOBJS): Don't include it anymore.
(postpar.$(FASLEXT)): Update requirement.
* mark.boot: Move setting of special compiler functions from
postprop.lisp to here.
* postprop.lisp: Remove.
* parse.boot: Register special parser for "xor".
|
|
* compiler.boot: Import "define" and "iterator".
Move setting of special compiler functions from property.lisp to
here.
* iterator.boot (compCollectV): Uncomment.
(compIteratorV): Likewise.
(computeMaxIndex): Likewise.
(exprDifference): Likewise.
* parse.boot: Move setting of special parsing functions from
property.lisp to here.
* postpar.boot: Move setting of special parsing transformers from
property.lisp to here.
* property.lisp: Move setting of special compiler functions and
parsers to appropriate files.
|
|
* nspadaux.lisp: Don't register special parser for `not'-form.
* postprop.lisp: Likewise.
* property.lisp: Likewise.
* parse.boot (parseNot): Remove.
|
|
* ax.boot: Likewise.
* cattable.boot: Likewise.
* compiler.boot: Likewise.
* def.lisp: Likewise.
* define.boot: Likewise.
* functor.boot: Likewise.
* g-opt.boot: Likewise.
* i-analy.boot: Likewise.
* i-intern.boot: Likewise.
* i-map.boot: Likewise.
* i-object.boot: Likewise.
* i-output.boot: Likewise.
* i-spec2.boot: Likewise.
* info.boot: Likewise.
* mark.boot: Likewise.
* nrunopt.boot: Likewise.
* package.boot: Likewise.
* parse.boot: Likewise.
* pf2atree.boot: Likewise.
* pf2sex.boot: Likewise.
* postpar.boot: Likewise.
* pspad2.boot: Likewise.
* wi2.boot: Likewise.
|
|
|
|
of parse. Load it.
(parse.$(FASLEXT)): New rule.
* parse.boot: New. Import "postpar".
* parse.boot.pamphlet: Move content to parse.boot.pamphlet. Remove.
|