aboutsummaryrefslogtreecommitdiff
path: root/src/interp/lexing.boot
AgeCommit message (Collapse)AuthorFilesLines
2013-06-18Misc cleanup.dos-reis1-1/+1
2013-05-29Misc cleanups.dos-reis1-2/+1
2013-05-10The compiler now accepts do-statementsdos-reis1-2/+2
2012-08-20 * interp/spad.lisp (SPAD): Remove obfuscated binding of OUT-STREAM.dos-reis1-8/+2
* interp/spad-parser.boot (paarseEcho): Use $OutputStream in lieu of OUT-STREAM. * interp/server.boot (serverReadLine): Do not bind IN-STEEAM and *EOF*. Tidy. * interp/lexing.boot (IN-TREAM): Remove definition. (OUT-STREAM): Likewise. * interp/int-top.boot (runspad): Do not bind IN-STREAM and *EOF*. (SpadInterpretStream): Remove $shoeReadLineFunction binding. * interp/debug.lisp: Replace IN-STREAM with $InputStream and OUT-STREAM with $OutputStream.
2012-06-07 * interp/lexing.boot: Move %Line to io.boot.dos-reis1-54/+0
* interp/debug.lisp (SPAD_LONG_ERROR): Take a reader parameter. Tidy.
2012-06-04 * interp/spad.lisp (SPAD): Adjust.dos-reis1-131/+127
* 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.
2012-06-03 * interp/lexing.boot (%Line): Now a record structure.dos-reis1-19/+11
* 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.
2012-05-28 * interp/lexing.boot: Use makeToken directly.dos-reis1-41/+35
(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.
2012-05-22 * interp/lexing.boot (%Token): Now an actual type defined as ados-reis1-17/+8
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.
2012-05-21 * interp/parsing.lisp: Remove.dos-reis1-0/+16
* 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.
2012-05-21 * interp/lexing.boot (getDecimalNumberToken): New.dos-reis1-1/+41
(getIntegerInRadix): Likewise. (getSpadIntegerToken): Likewise. (getToken): Use it. * interp/Makefile.in (bootlex.$(FASLEXT)): Remove rule. (OBJS): Do not include it. * interp/bootlex.lisp: Remove.
2012-05-09 * interp/preparse.lisp (PREPARSE): Move to spad-parser.boot.dos-reis1-1/+1
Rename as preparse.
2012-05-07 * interp/sys-globals.boot ($insideCompTypeOf): Remove.dos-reis1-16/+0
* interp/preparse.lisp (INITIAL-SUBSTRING): Remove. * interp/g-util.boot (stringPrefix?): Remove. * interp/compiler.boot (compTypeOf): Remove. (comp3): Don't call it.
2012-05-06 * interp/lexing.boot (indentationLocation): New.dos-reis1-0/+16
* interp/macros.lisp (expand-tabs): Use it in lieu of NDENT-POS. * interp/preparse.lisp (PREPARSE1): Likewise.
2012-05-06 * interp/Makefile.in (OBJS): Include io.$(FASLEXT).dos-reis1-0/+1
(io.$(FASLEXT)): New rule. * interp/io.boot: New. * interp/preparse.lisp: Use storeBlanks!. (STOREBLANKS): Remove.
2012-02-24 * interp/lexing.boot: "assume" is now also a keyword for the compiler.dos-reis1-1/+1
* interp/spad-parser.boot (parseCategory): Accept exported properties. (parseFormula): New.
2012-02-20 * interp/lexing.boot (getNumberToken): New.dos-reis1-2/+18
(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-18 * interp/spad-parser.boot (parseSegmentTail): Tidy.dos-reis1-2/+2
* 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-5/+38
* 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-12 * interp/lexing.boot (matchAdvanceKeyword): New.dos-reis1-0/+7
* 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.
2011-10-11 * interp/lexing.boot (matchAdvanceString): New.dos-reis1-2/+19
* 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-0/+12
* interp/fnewmeta.lisp: Use it. * interp/parsing.lisp: Likewise. (MATCH-STRING): Remove.
2011-10-09 * interp/lexing.boot: New tokenizer functions.dos-reis1-1/+75
* 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-0/+161
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-0/+98
* 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-1/+59
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-0/+88
* interp/metalex.lisp: Include it. Use new stack datatype support. * interp/parsing.lisp: Use new stack datatype support. * interp/Makefile.in: Adjust.