aboutsummaryrefslogtreecommitdiff
path: root/src/interp/cparse.boot
AgeCommit message (Collapse)AuthorFilesLines
2008-12-082008-12-07 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-0/+12
* 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-08-09 * interp/buildom.boot: Rename AST code LET to %LET throughout.dos-reis1-1/+1
* 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-08-05 * interp/cparse.boot (npWith): Commit to parsing upon `with'.dos-reis1-12/+16
(npAdd): Commit to parsing upon `add'. (npDef): Tell npDefTail to look for '=='. (npMdef): Accept argument to indicate '==' or '==>' forms. (npSingleRule): A Rule is given by '=='. (npDefTail): Take the kind of definition as a parameter. (npDefinitionItem): Macro definitions are definitions. (npMDEFinition): Remove. (npMDEF): Hand off to npMdef to parse macro definitions. (npMacro): Macros introduced by `macro' keyword uses '=='.
2008-08-05 * interp/cparse.boot (npExpress1): Make assignment an expression,dos-reis1-1/+3
therefore a statement.
2008-08-04 * interp/cparse.boot ($npPParg): Remove.dos-reis1-21/+13
($npPCff): Likewise. (npPPff, npPCff): Take an argument. (npPPf): Likewise. (npPPg, npPCg): Likewise. (npPP, npPC): Pass around a suspension of the argument.
2008-07-252008-07-24 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-3/+27
* interp/scan.boot: Tidy. * interp/ptrees.boot: Define AST for type schemes. * interp/cparse.boot (npType): Parse type schemes. (npQuantifierVariable): New. (npADD): Accept only monotypes. * interp/pf2sex.boot (pf2Sex1): Handle type schemes. (pfQuantified2Sex): New. 2008-07-23 Gabriel Dos Reis <gdr@cs.tamu.edu> * interp/cparse.boot (npMonoType): Rename from npType.
2008-05-08 * boot/translator.boot (bpOutItem): Handle namespace declaration.dos-reis1-2/+1
Update all boot files to use `namespace' instead of `)package'. * interp/: 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.
2007-10-15remove more pamphlets from interp/dos-reis1-0/+2
2007-09-13 * Makefile.pamphlet (OBJS): Don't include ptrop.$(FASLEXT).dos-reis1-0/+988
(ptrees.$(FASLEXT)): New rule. (cparse.$(FASLEXT)): Likewise. * ptrop.boot.pamphlet: Move content to ptrees.boot.pamphlet. * ptrees.boot.pamphlet: Import posit, serror. * cparse.boot: New. Import ptrees. * cparse.boot.pamphlet: Move content to cparse.boot. Remove. * serror.boot: New. (pfSourceStok): Move to posit.boot. (npMissingMate): Move to cparse.boot. (npMissing): Likewise. (npCompMissing): Likewise. (npRecorverTrap): Likewise. (npListAndRecover): Likewise. (npMoveTo): Likewise. * serror.boot.pamphlet: Move content to serror.boot. Remove.