aboutsummaryrefslogtreecommitdiff
path: root/src/interp/parsing.lisp
AgeCommit message (Collapse)AuthorFilesLines
2012-04-29 * interp/debug.lisp: ident? in lieu of IDENTP.dos-reis1-3/+3
* interp/macros.lisp: Likewise. * interp/parsing.lisp: Likewise. * interp/sys-macros.lisp: Likewise. * interp/vmlisp.lisp: Likewise. (IDENTP): Remove.
2012-02-20 * interp/lexing.boot (getNumberToken): New.dos-reis1-16/+1
(getArgumentDesignator): Likewise. (getToken): Use it. * interp/parsing.lisp (GET-NUMBER-TOKEN): Remove. * interp/bootlex.lisp (INIT-BOOT/SPAD-READER): Move to spad.lisp. (SPAD): Likewise. (READ-SPAD1): Likewise. (TEST): Remove. (GET-ARGUMENT-DESIGNATOR-TOKEN): Likewise.
2011-10-19 * interp/property.lisp: Move output-related content to i-output.boo.dos-reis1-0/+2
Remove.
2011-10-18 * interp/spad-parser.boot (parseSegmentTail): Tidy.dos-reis1-6/+0
* interp/postpar.boot (postSEGMENT): Remove. (postTupleCollect): Likewise. (postBootNotEqual): Likewise. * interp/parsing.lisp (CHAR-EQ): Remove. (CHAR-NE): Likewise. (getToken): Likewise. * interp/newaux.lisp: Remove "^=" as legitimate operator. * interp/lexing.boot (geToken): Rename from getSpadToken. * interp/i-intern.boot (mkAtree3): Check for new form of universal segment. * interp/parse.boot (parseSegment): Likewise. * algebra/seg.spad.pamphlet (Segment): Use .. instead of SEGMENT. (SegmentFunctions2): Likewise. (UniversalSegment): Likewise.
2011-10-17 * lisp/core.lisp.in: Add ref and deref to support references.dos-reis1-4/+0
* interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and "..". * interp/spad.lisp: Tidy. * interp/spad-parser.boot: New parsers. * interp/preparse.lisp: Remove dead codes. * interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove. * interp/parse.boot (doParseCategory): Rename from parseCategory. * interp/newaux.lisp: Tidy. * interp/lexing.boot (getSpadToken): New. (Keywords): Remove 'when'. (matchKeywordNext): New. (matchSpecial): Likewise. (matchAdvanceSpecial): Likewise. (matchAdvanceGlyph): Likewise. * interp/fnewmeta.lisp: Move variable definitions to preparse.lisp. Remove Lisp based parsers. Remove file. * interp/c-doc.boot (recordAttributeDocumentation): Fix thinko. * interp/bootlex.lisp (GET-BOOT-TOKEN): Remove. * interp/Makefile.in: Adjust dependencies. * boot/parser.boot (bpChar): New. (bpPattern): Allow character constants.
2011-10-11 * interp/lexing.boot (matchAdvanceString): New.dos-reis1-73/+0
* interp/spad-parser.boot: New parsing functions. * interp/fnewmeta.lisp: Use them. (PARSE-VarForm): Remove. (PARSE-Scripts): Likewise. (PARSE-ScriptItem): Likewise. (PARSE-AnyId): Likewise. * interp/parsing.lisp (PARSE-OperatorFunctionName): Remove. (MATCH-ADVANCE-STRING): Likewise.
2011-10-11 * interp/lexing.boot (matchString): New.dos-reis1-12/+4
* interp/fnewmeta.lisp: Use it. * interp/parsing.lisp: Likewise. (MATCH-STRING): Remove.
2011-10-11 * interp/metalex.lisp (DEFUN-PARSE-TOKEN): Remove.dos-reis1-1/+177
Move remaining to parsing.lisp. * interp/fnewmeta.lisp (PARSE-IntegerTok): Remove. (PARSE-FloatTok): Likewise. (PARSE-FormalParameter): Likewise. (PARSE-FormalParameterTok): Likewise. (PARSE-String): Likewise. (PARSE-Name): Likewise.
2011-10-09 * interp/lexing.boot: New tokenizer functions.dos-reis1-1/+1
* interp/parsing.lisp: Use them. * interp/metalex.lisp: Likewise. (GET-SPECIAL-TOKEN): Remove. * interp/bootlex.lisp: Likewise. Remove old tokenizers,
2011-10-07 * interp/lexing.boot: Include sys-macros.dos-reis1-18/+18
Add more tokenizer functions. * interp/fnewmeta.lisp: Use them. * interp/parsing.lisp: Likewise. * interp/bootlex.lisp: Likewise. * interp/spad.lisp: Likewise. (NEXT-BOOT-LINE): Remove. * interp/metalex.lisp: Remove old lexing routines. * interp/Makefile.in (lexing.$(FASLEXT)): Adjust dependency. * boot/tokens.boot: newString is no longer builtin library function. (shoeDictCons): Use makeString not newString. * lisp/core.lisp.in (listToString): Fix typo.
2011-10-04 * interp/lexing.boot: Add support for Token abstract datatype.dos-reis1-12/+10
* interp/bootlex.lisp: Use it. * interp/fnewmeta.lisp: Likewise. * interp/metalex.lisp: Likewise. Remove old token structure and associated functions.
2011-10-04 * interp/lexing.boot (stackClear!): Fix typo.dos-reis1-19/+12
Add new grammar reduction abstract datatype facility. * interp/fnewmeta.lisp: Use it. * interp/parsing.lisp: Likewise. * interp/bootlex.lisp (SPAD): Use popStack1. * interp/spad-parser.boot (parseSpadFile): Likewise. * interp/metalex.lisp: Remove REDUCTION and associated functions.
2011-10-04 * interp/lexing.boot: New.dos-reis1-7/+7
* interp/metalex.lisp: Include it. Use new stack datatype support. * interp/parsing.lisp: Use new stack datatype support. * interp/Makefile.in: Adjust.
2011-09-07 * interp/lisplib.boot (finalizeLisplib): Finalize documentaiondos-reis1-2/+2
only if not bootstrapping. (isFunctor): Tidy. * interp/g-util.boot (superType): Tidy. * interp/database.boot (getDualSignature): Rename from getDualSignatureFromDB. Adjust callers. * interp/c-util.boot (isKnownCategory): Remove. (diagnoseUnknownType): Use isCategoryForm. * interp/bootlex.lisp (GET-INTEGER-IN-RADIX): Use SPAD_SYNTAX_ERROR. * interp/metalex.lisp (GET-STRING-TOKEN): Likewise. * interp/parsing.lisp (MUST): Likewise. * algebra/boolean.spad.pamphlet (Refrence) [coerce]: Bypass conversion to Identifier. * algebra/domain.spad.pamphlet (ContructorKind): Tidy.
2011-05-19more cleanupdos-reis1-1/+1
2011-04-22 * boot/utility.boot (copyList): Define.dos-reis1-1/+1
(append!): Likewise. * boot/tokens.boot: Do not translate nconc.
2010-12-10Unify and ECHO-META under dos-reis1-7/+0
2010-12-08 * interp/fnewmeta.lisp: Replace MATCH-ADVANCE-GLYPH withdos-reis1-4/+0
PARSE-GlyphTok. (PARSE-GlyphTok): Now accept string instead of symbol. * interp/parsing.lisp (MATCH-ADVANCE-GLYPH): Remove as redundant.
2010-12-07 Add support for exception handling.dos-reis1-22/+19
* 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.
2008-12-02 * interp/parsing.lisp (initial-substring-p): Match case sensitively.dos-reis1-1/+1
2008-11-02 * interp/g-util.boot: Import "ggreater".dos-reis1-1/+1
* interp/category.boot: Import "g-cndata" * interp/c-util.boot: Import "g-opt". * interp/Makefile.pamphlet: Adjust Make rules.
2008-07-07 * interp/spad.lisp (S-PROCESS): Remove Old Boot specific codes.dos-reis1-2/+2
* 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.
2007-10-13Remove more pamphletsdos-reis1-0/+2
2007-09-192007-09-19 Gabriel Dos Reis <gdr@cs.tamu.edu>dos-reis1-516/+7
* 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-14 * vmlisp.lisp.pamphlet: Don't define package VMLISP. Removedos-reis1-8/+2
export declarations. Import "boot-pkg". * sys-macros.lisp (EQUABLE): Remove definition. * sys-constants.boot ($true): Define as twice quoted T. * hash.lisp.pamphlet: Push into package BOOT, VMLISP. * ggreater.lisp: Likewise. * nlib.lisp.pamphlet: Likewise. * obey.lisp: Likewise. * construc.lisp.pamphlet: Remove reference to VMLISP package. * daase.lisp.pamphlet: Likewise. * debug.lisp.pamphlet: Likewise. * util.lisp.pamphlet: Likewise. * cformat.boot: Remove hack for GCL limitation. * scan.boot: Likewise. * incl.boot: Likewise. * parsing.lisp: Likewise. * bootlex.lisp: Remove reference to VMLISP package. * union.lisp: Likewise. * boot-pkg.lisp: Remove hack for GCL limitation. Don't import "vmlisp" anymore. * bookvol5.pamphlet (vmlisp::$current-directory): Remove. * patches.lisp.pamphlet: Likewise. * astr.boot: Import "vmlisp" instead of "boot-pkg". * Makefile.pamphlet (boot-pkg.$(FASLEXT)): Don't depend on vmlisp.$(FASLEXT). (vmlisp.$(FASLEXT)): Depend on boot=pkg.$(FASLEXT).
2007-09-10 * Makefile.pamphlet (DEP): Adjust path to comp.lisp.dos-reis1-0/+1068
(${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.