Age | Commit message (Collapse) | Author | Files | Lines |
|
* interp/spad-parser.boot: Add a reader parameter to all parsing
functions. Adjust callers.
* interp/newaux.lisp: Adjust form of specialized parsers.
* interp/lexing.boot: Add a reader parameter to all lexing
functions. Adjust Callers.
* interp/io.boot (%Reader): Add source line field.
* interp/debug.lisp: Adjust IO and lexer calls.
* interp/util.lisp (string2SpadTree): Remove as unused.
|
|
* boot/parser.boot (bpTypeName): Split out of bpTypeAliasDefinition.
(bpStruct): Use it. Support parameterized structures.
* boot/ast.boot (ctorName): New.
(bfEnum): Use it for parameterized enums.
(bfRecord): Use it for parameterized records.
|
|
(tokenInstall): Remove.
(getSpadIntegerToken): Lose parameter. Adjust callers.
(getNumberToken): Likewise.
(getArgumentDesignator): Likewise.
(getToken): Likewise.
(getSpadString): Likewise.
(getSpecial): Likewise.
(getGliph): Likewise.
(getIdentifier): Likewise.
* lisp/core.lisp.in ($stdio): New.
* boot/includer.boot: Use it.
* boot/translator.boot: Likewise.
* boot/utility.boot (stringPrefix?): New.
|
|
record structure.
(copyToken): Adjust.
(tokenSymbol): Remove as now automatically generated.
(tokenType): Likewise.
(tokenNonblank?): Likewise.
* boot/ast.boot (bfRecordDef): Specify a name for a copier function.
|
|
* interp/spad-parser.boot (floatExponent): New.
(parseFloatExponent): Use it instead of FLOATEXPID.
* interp/lexing.boot (nextLinesClear!): New.
(ioClear!): Likewise.
(OUT-STREAM): Define here.
* interp/debug.lisp: Import lexing instead of parsing. Tidy.
* interp/preparse.lisp: Likewise.
* interp/spad.lisp: Likewise.
* interp/util.lisp: Likewise.
* interp/Makefile.in (OBJS): Do not include parsing.$(FASLEXT).
(parsing.$(FASLEXT)): Remove. Adjust dependents.
|
|
(getIntegerInRadix): Likewise.
(getSpadIntegerToken): Likewise.
(getToken): Use it.
* interp/Makefile.in (bootlex.$(FASLEXT)): Remove rule.
(OBJS): Do not include it.
* interp/bootlex.lisp: Remove.
|
|
Rename as preparse.
|
|
* interp/preparse.lisp (INITIAL-SUBSTRING): Remove.
* interp/g-util.boot (stringPrefix?): Remove.
* interp/compiler.boot (compTypeOf): Remove.
(comp3): Don't call it.
|
|
* interp/macros.lisp (expand-tabs): Use it in lieu of NDENT-POS.
* interp/preparse.lisp (PREPARSE1): Likewise.
|
|
(io.$(FASLEXT)): New rule.
* interp/io.boot: New.
* interp/preparse.lisp: Use storeBlanks!.
(STOREBLANKS): Remove.
|
|
* interp/spad-parser.boot (parseCategory): Accept exported properties.
(parseFormula): New.
|
|
(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.
|
|
* 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.
|
|
* 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.
|
|
* interp/spad-parser.boot: New parsing functions.
* interp/fnewmeta.lisp: Use them.
(PARSE-NewExpr): Remove.
(PARSE-Command): Likewise.
(PARSE-SpecialKeyWord): Likewise.
(PARSE-TokenOption): Likewise.
(PARSE-PrimaryOrQM): Likewise.
(PARSE-InfixWith): Likewise.
(PARSE-With): Likewise.
(PARSE-Inline): Likewise.
(PARSE-Quanifier): Likewise.
(PARSE-QuantifiedVariable): Likewise.
(PARSE-Infix): Likewise.
(PARSE-Prefix): Likewise.
(PARSE-Suffix): Likewise.
(PARSE-TokTail): Likewise.
(PARSE-Qualification): Likewise.
(PARSE-Primary): Likewise.
(PARSE-PrimaryNoFloat): Likewise.
(PARSE-Quad): Likewise.
|
|
* 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.
|
|
* interp/fnewmeta.lisp: Use it.
* interp/parsing.lisp: Likewise.
(MATCH-STRING): Remove.
|
|
* interp/parsing.lisp: Use them.
* interp/metalex.lisp: Likewise.
(GET-SPECIAL-TOKEN): Remove.
* interp/bootlex.lisp: Likewise. Remove old tokenizers,
|
|
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.
|
|
* interp/bootlex.lisp: Use it.
* interp/fnewmeta.lisp: Likewise.
* interp/metalex.lisp: Likewise. Remove old token structure and
associated functions.
|
|
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.
|
|
* interp/metalex.lisp: Include it. Use new stack datatype support.
* interp/parsing.lisp: Use new stack datatype support.
* interp/Makefile.in: Adjust.
|