aboutsummaryrefslogtreecommitdiff
path: root/src/interp/parse.boot
AgeCommit message (Collapse)AuthorFilesLines
2009-09-26More cleanupdos-reis1-1/+1
2009-08-14 * boot/tokens.boot: Retire "^=". Introduce "~=".dos-reis1-6/+0
* boot/ast.boot: Use "~=" instead of "^=". * boot/includer.boot: Likewise. * boot/translator.boot: Likewise. * interp/as.boot: Likewise. * interp/bc-misc.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-code.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/interop.boot: Likewise. * interp/intfile.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/macex.boot: Likewise. * interp/mark.boot: Likewise. * interp/match.boot: Likewise. * interp/modemap.boot: Likewise. * interp/msg.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pathname.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/profile.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/record.boot: Likewise. * interp/scan.boot: Likewise. * interp/setvars.boot: Likewise. * interp/simpbool.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.
2009-07-13 * interp/metalex.lisp: "break" is now a keyword.dos-reis1-7/+1
* interp/fnewmeta.lisp (PARSE-Jump): New. * interp/compiler.boot (compAtom): Dipatch compilation of "break" and "iterate" to... (compBreak): ... here (compIterate): and here. (jumpFromLoop): New. (compRepeatOrCollect): Initialize $lookKind, $iterateCount, and $breakCount. Set exit point for loop bodies with 'iterate' expressions. * interp/parse.boot (parseAtom): Remove. (parseTran): Adjust. * algebra/outform.spad.pamphlet: Tidy. * interp/c-util.boot ($loopKind): Declare. ($repeatBodyLabel): Likewise. ($iterateCount): Likewise. ($breakCount): Likewise.
2009-06-16 Fix SF/2396945dos-reis1-6/+0
* interp/scan.boot: '@@' is no longer a keyword. * interp/cparse.boot (npColonQuery): Remove. * interp/parse.boot (parseAtAt): Likewise. * interp/postpar.boot (postAtAt): Likewise.
2009-06-11 * interp/newaux.lisp: Remove digraphs '(<' and '>) as alternatedos-reis1-4/+11
spelling for '{' and '}'. * interp/fnewmeta.lisp (|PARSE-Primary1|): Use PARSE-Data for quoted forms. (|PARSE-Sexpr1|): Tidy. * interp/parse.boot (washOperatorName): New. Issue deprecation diagnostics for string syntax for operator names in signatures. (parseHas): Use it. (transCategoryItem): Likewise. * interp/metalex.lisp (advance-token): Likewise. * algebra/boolean.spad.pamphlet: Tidy.
2009-06-10 * interp/parse.boot (parseDropAssertions): Remove.dos-reis1-9/+1
(parseCategory): Don't call it. * interp/nrungo.boot (lookupPred): Don't check for "asserted".
2009-06-10 * interp/parse.boot (parseHas): Preserve unnamed category forms.dos-reis1-12/+9
* interp/i-funsel.boot (hasCaty): Recursively look into Joins. * interp/interop.boot (newHasCategory): Likewise. * interp/compiler.boot (compHasFormat): Handle unnamed categories. * interp/info.boot (knownInfo): Likewise.
2009-06-01 Simplify compiler ast for `return' expressions.dos-reis1-10/+0
* interp/parse.boot (parseReturn): Remove. * interp/compiler.boot (compReturn): Tidy.
2009-06-01 * interp/compiler.boot (compGreaterThan): Remove.dos-reis1-5/+0
* interp/parse.boot (parseGreaterEqual): Likewise.
2009-06-01 * interp/compiler.boot (compGreaterThan): New. Compiledos-reis1-6/+0
greater-than expressions. * interp/parse.boot (parseGreaterThan): Remove. * algebra/data.spad.pamphlet (Byte): Implement all comparison functions. * algebra/integer.spad.pamphlet (Integer): Likewise. * algebra/sf.spad.pamphlet (DoubleFloat): Likewise. * algebra/si.spad.pamphlet (SingleInteger): Likewise. * algebra/string.spad.pamphlet (Character): Likewise.
2009-02-18 * interp/parse.boot (parseHas): Constants are not attributes.dos-reis1-0/+1
* interp/compiler.boot (compHasFormat): Handle signature for constants too. * interp/info.boot (actOnInfo): Likewise. * algebra/data.spad.pamphlet (sample$Byte): Make a constant. (SystemInteger): Export constant 'sample'. (SystemNonNegativeInteger): Likewise. * algebra/aggcat2.spad.pamphlet (FiniteLinearAggregateFunctions2): Use 'sample' or 'random' elements when allocating new aggregates.
2009-01-10 * interp/parse.boot ($parsingType): New.dos-reis1-12/+23
(parseType): New. Parse types forms. (parseTypeList): New. Parse list of type forms.
2008-12-16 r12470@gauss: gdr | 2008-12-14 17:43:50 -0600dos-reis1-27/+28
Forgot to commit ChangeLog. r12471@gauss: gdr | 2008-12-14 19:11:21 -0600 Fix typo in PrimitiveRatRicDE. r12472@gauss: gdr | 2008-12-15 01:40:45 -0600 Reformat preparse.lisp. r12473@gauss: gdr | 2008-12-15 03:25:17 -0600 Tidy. r12474@gauss: gdr | 2008-12-15 21:33:54 -0600 Remove unused codes. r12475@gauss: gdr | 2008-12-15 21:57:22 -0600 . r12476@gauss: gdr | 2008-12-15 23:07:49 -0600 Tidy fatal diagnostics. r12477@gauss: gdr | 2008-12-15 23:50:02 -0600 Fold iterator.boot into compiler.boot.
2008-12-14 r12459@gauss: gdr | 2008-12-12 18:18:31 -0600dos-reis1-8/+1
Tidy compApplyModemap. r12460@gauss: gdr | 2008-12-13 09:24:50 -0600 Tidy compMapCond. r12461@gauss: gdr | 2008-12-13 10:24:14 -0600 Activate compViableModemap. r12462@gauss: gdr | 2008-12-13 11:18:17 -0600 Remove pmatch and pmatchWithSl out of main compiler. r12463@gauss: gdr | 2008-12-13 12:26:44 -0600 Tidy compApplyModemap. r12464@gauss: gdr | 2008-12-13 16:39:28 -0600 Add compExclusiveOr. r12465@gauss: gdr | 2008-12-13 16:54:58 -0600 . r12466@gauss: gdr | 2008-12-14 15:01:33 -0600 Tidy compLogicalNot.
2008-12-11 r12443@gauss: gdr | 2008-12-11 15:51:39 -0600dos-reis1-39/+5
Remove unused parse codes.
2008-12-11 r12437@gauss: gdr | 2008-12-09 22:23:31 -0600dos-reis1-17/+1
Remove unused parse functions.
2008-12-082008-12-07 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-0/+8
* 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.
2008-12-01 * interp/parse.boot (parseEquivalence): Remove.dos-reis1-8/+0
2008-11-26 * interp/parse.boot (parseImplies): Remove.dos-reis1-7/+1
2008-08-09 * interp/buildom.boot: Rename AST code LET to %LET throughout.dos-reis1-7/+7
* 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.
2008-07-06 * interp/parse.boot ($normalizeTree): New.dos-reis1-6/+14
(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.
2008-07-06 * interp/parse.boot (parseTran): Don't set $op. Don't strip parsedos-reis1-63/+72
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.
2008-05-08 * boot/translator.boot (bpOutItem): Handle namespace declaration.dos-reis1-1/+1
Update all boot files to use `namespace' instead of `)package'. * interp/: Likewise.
2008-05-06 * interp/define.boot: Explicitly initialize fluid variables.dos-reis1-1/+1
* 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.
2008-04-23 * boot/ast.boot: Tidy.dos-reis1-1/+1
* 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.
2008-04-20 * interp/Makefile.pamphlet (parse.$(FASLEXT)): Don't compile asdos-reis1-138/+169
Old Boot. * interp/parse.boot (parseTypeEvaluate): Remove. (parseTypeEvaluateArgs): Likewise. (parseType): Don't evaluate type during parsing. ($oldParserExpandAbbrs): Remove. (parseTypeError): Likewise. (specialModeTran): Likewise.
2008-04-14Various cleanups.dos-reis1-1/+1
2008-04-13Various cleanups.dos-reis1-1/+1
2008-03-09 * interp/parse.boot (parseDollarGreaterThan): Remove.dos-reis1-16/+0
(parseDollarGreaterEqual): Likewise. (parseDollarLessEqual): Likewise. (parseDolloarNotEqual): Likewise.
2008-02-19 * algebra/variable.spad.pamphlet (AnonymousFunction): Add newdos-reis1-2/+2
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.
2008-02-02 * interp/setq.lisp: Remove more unused variables.dos-reis1-1/+3
* interp/nruncomp.boot ($Slot1DataBase): Define here. * interp/parse.boot ($oldParserExpandAbbrs): Likewise. * interp/define.boot ($mutableDomains): Define here. (compDefineFunctor1): Tidy. (clearCmdCompletely): Don't set $functionTable.
2008-01-13 Fix SF/1867459dos-reis1-0/+3
* interp/postpar.boot (postError): Fix thinko. * interp/parse.boot ($defOp): Define. * testsuite/compiler/1867459.spad: New.
2007-12-13 * parse.boot: Register parsers by name, not by pointers.dos-reis1-37/+37
2007-12-02src/boot/dos-reis1-1/+0
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.
2007-11-28 * postprop.$(FASLEXT): Remove rule.dos-reis1-1/+2
* 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".
2007-11-28 * Makefile.pamphlet (compiler.$(FASLEXT)): Update requirement.dos-reis1-0/+41
* 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.
2007-11-27 * compiler.boot (compileNot): New.dos-reis1-4/+0
* nspadaux.lisp: Don't register special parser for `not'-form. * postprop.lisp: Likewise. * property.lisp: Likewise. * parse.boot (parseNot): Remove.
2007-11-22 * as.boot: Globally substitute %noBranch for noBranch.dos-reis1-4/+4
* 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.
2007-09-20Fix SNAFU of last night.dos-reis1-14/+19
2007-09-20 * Makefile.pamphlet (${DEPSYS}): Now depend on the compiled formdos-reis1-0/+486
of parse. Load it. (parse.$(FASLEXT)): New rule. * parse.boot: New. Import "postpar". * parse.boot.pamphlet: Move content to parse.boot.pamphlet. Remove.