aboutsummaryrefslogtreecommitdiff
path: root/src/interp/metalex.lisp
AgeCommit message (Collapse)AuthorFilesLines
2008-12-082008-12-07 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-1/+1
* 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-11-24 * interp/i-output.boot ($RecordSeparator): New.dos-reis1-1/+2
(maprin): Use it. Separate record in lean mode. * interp/sys-globals.boot ($leanMode): Define. * interp/sys-driver.boot (systemMain): Initialize. * interp/ht-util.boot (executeInterpreterCommand): Print prompt only in non-lean mode. * interp/int-top.boot (SpadInterpretStream): Likewise. (intloopReadConsole): Likewise. * interp/metalex.lisp (get-a-line): Likewise. * interp/server.boot: Likewise.
2008-10-08 * interp/i-util.boot (printPrompt): New.dos-reis1-1/+1
* interp/ht-util.boot (executeInterpreterCommand): Use it. * interp/int-top.boot (SpadInterpretStream): Likewise. * interp/metalex.lisp (get-a-line): Likewise. * interp/server.boot (serverReadLine): Likewise. (serverLoop): Likewise.
2008-07-07 * interp/spad.lisp (S-PROCESS): Remove Old Boot specific codes.dos-reis1-1/+1
* interp/server.boot (parseAndInterpret): Don't set $BOOT. * interp/setvars.boot (resetWorkspaceVariables): Likewise. * interp/spad-parser.boot (parseSpadFile): Likewise. * interp/postpar.boot: Disable Old Boot handling codes. * interp/metalex.lisp (quote-if-string): Don't test for $BOOT. * interp/parsing.lisp (IOStat): Likewise. (IOClear): Likewise. * interp/ht-util.boot (parseAndEval): Don't set $BOOT. * interp/int-top.boot (ncTopLevel): Likewise. * interp/fnewmeta.lisp: Remove Old Boot specific productions. * interp/sys-macros.lisp (-REDUCE): Don't test for $BOOT. (SPADDO): Likewise. * interp/comp.lisp (COMP-TRAN-1): Likewise. * interp/util.lisp (|string2SpadTree|): Likewise. * interp/bootlex.lisp (READBOOT): Remove. (READ-BOOT): Likewise. (spad): Don't initialize $BOOT. * interp/debug.lisp (/D-2): Likewise.
2008-03-25 * interp/bootlex.lisp: Import "sys-globals". dos-reis1-4/+4
Consistently use $InputStream and $OutputStream for I/O. * interp/c-util.boot: Likewise. * interp/comp.lisp: Likewise. * interp/compat.boot: Likewise. * interp/debug.lisp: Likewise. * interp/def.lisp: Likewise. * interp/g-error.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/int-top.boot: Likewise. * interp/intfile.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/macros.lisp: Likewise. * interp/metalex.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/patches.lisp: Likewise. * interp/preparse.lisp: Likewise. * interp/server.boot: Likewise. * interp/spad-parser.boot: Likewise. * interp/spad.lisp: Likewise. * interp/sys-globals.boot: Likewise. * interp/sys-macros.lisp: Likewise. * interp/sys-os.boot: Likewise. * interp/unlisp.lisp: Likewise. * interp/vmlisp.lisp: Likewise. * interp/Makefile.pamphlet (bootlex.$(FASLEXT)): Require sys-globals.$(FASLEXT) too. (vmlisp.$(FASLEXT)): Likewise.
2007-10-13Remove more pamphletsdos-reis1-0/+2
2007-09-192007-09-19 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-3/+541
* Makefile.pamphlet (all-interpsys): Now depend on all-depsys. src/interp/ 2007-09-19 Gabriel Dos Reis <gdr@cs.tamu.edu> * util.lisp.pamphlet ($directory-list): Move to sys-globals.boot. ($library-directory-list): Likewise. * spad.lisp.pamphlet: Import "bootlex". * preparse.lisp.pamphlet: Import "fnewmeta". * postprop.lisp: Import "macros". * postpar.boot.pamphlet: Import "postprop". * nlib.lisp.pamphlet (rdefiostream): Define unconditionally. (get-io-index-stream): Likewise. (makedir): Likewise. (get-directory-list): Don't use $current-diretory. ($filetype-table): Move to sys-constants.boot. * patches.lisp.pamphlet ($current-directory): Remove. (|cd|): Simplify implementation. * newaux.lisp.pamphlet: Import "macros". (|PARSE-NewKEY|): Define. * metalex.lisp: Move various file, line, stack, character utilities to here. * macros.lisp.pamphlet (NREVERSE0): Move to sys-macros.lisp. Tidy. * fnewmeta.lisp.pamphlet: Import "parsing". * comp.lisp: Import "macros". * def.lisp: Likewise. (B-MDEF): Fix thinko. * bootlex.lisp: Import "preparse", "def", and "nlib". (BOOT-LINE-STACK): Move to metalex.lisp. (NEXT-LINES-CLEAR): Likewise. (NEXT-LINES-SHOW): Likewise. (XCAPE): Likewise. (KEYWORDS): Likewise. * Makefile.pamphlet (${DEPSYS}): Now have all Lisp in compiled form and load them. * bookvol5.pamphlet ($current-directory): Remove.
2007-09-10 * Makefile.pamphlet (DEP): Adjust path to comp.lisp.dos-reis1-0/+275
(${DEPSYS}): Likewise for def.lisp, bootlex.lisp, postprop.lisp, metalex.lisp. Use |compileLispFile| instead of COMPILE-FILE. * Makefile.in: Regenerate. * union.lisp: New. * union.lisp.pamphlet: Move content to union.lisp. Remove. * obey.lisp: New. * obey.lisp.pamphlet: Move content to obey.lisp. Remove. * nspadaux.lisp: New. * nspadaux.lisp.pamphlet: Move content to nspadaux.lisp. Remove. * fname.lisp: New. * fname.lisp.pamphlet: Move content to fname.lisp. Remove. * def.lisp: New. * def.lisp.pamphlet: Move content to def.lisp. Remove. * comp.lisp: New. * comp.lisp.pamphlet: Move content to comp.lisp. Remove. * bootlex.lisp: New. * bootlex.lisp.pamphlet: Move content to bootlex.lisp. Remove. * postprop.lisp: New. * postprop.lisp.pamphlet: Move content to postprop.lisp. Remove. * metalex.lisp: New. * metalex.lisp.pamphlet: Move content to metalex.lisp. Remove. * parsing.lisp: New. * parsing.lisp.pamphlet: Move content to parsing.lisp. Remove.