Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
parameter. Adjust callers.
|
|
* 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.
|
|
(INITIALIZE-PREPARSE): Do not set it.
(preparse1): Do not reference it. Do not test for ioTerminal? and
the input is always a disk file.
* interp/spad-parser.boot (findCommentBlock): Do not reference
$EchoLineStack.
(preparseReadLine1): Do not reference $LineList.
|
|
* interp/preparse.lisp (INITIALIZE-PREPARSE): Parameter is now a
reader.
(preparse1): Likewise. Tidy.
* interp/spad-parser.boot (preparseReadLine): Likewise.
(preparseReadLine1): Likewise.
(preparse): Likewise.
(parseSpadFile): Likewise.
* interp/spad.lisp (SPAD): Make it a unary function. Simplify.
(INITIALIZE): Remove.
|
|
* 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.
|
|
(bpTyped): Use it.
(bpThrow): Lilkewise.
(bpRegularBVItemTail): Likewise.
(bpAssignLHS): Likewise.
(bpStoreName): Do not reference $typings.
* boot/ast.boot (%Ast): Remove %Pretend variant.
(bfSignature): Rename from bfLocal. Build %Signature variant.
(bfLET1): Handle assignment to typed variable.
(shoeCompTran): Do not reference $typings.
(shoeCompTran1): Do not translate assignment to typed variables.
(bindFluidVars): Handle them here.
(bfTagged): Remove.
(bfTry): Tidy.
* boot/translator.boot (shoeOutParse): Do not reference $typings
and $returns.
* interp/c-util.boot (isAlmostSimple): Initialize $assignmentList.
|
|
$bootDefinedTwice, $bootUsed, $lispWordTable, shoeDfu, shoeReport,
shoeDefUse, defuse, defuse1, defSeparate, unfluidlist,
defusebuiltin, bootOut, CLESSP, SSORT, bootOutLines, XREF,
shoeXref, shoeXreport.
|
|
Remove references to $op.
|
|
* boot/parser.boot: Adjust.
|
|
sequence numbers.
Eliminate $letGenVarCounter and $isGenVarCounter.
|
|
Adjust callers.
* boot/translator.boot: Tidy.
|
|
|
|
|
|
Replace references to $stok.
|
|
(bfISReverse) Use it. Don't use bpTrap.
(bfIS1): Likewise.
(bfParameterList): Likewise.
(bfHandlers): Likewise.
* boot/parser.boot (bpTrap): Take a parser state argument.
Adjust callers.
|
|
* boot/translator.boot (shoeOutParse): Likewise.
|
|
* boot/translator.boot (shoeOutParse): Likewise.
|
|
* boot/translator.boot: Likewise.
|
|
Remove references to $inputStream.
* boot/translator.boot (shoeOutParse): Remove $inputStream.
|
|
(makeParserState): Likewise.
(%Translator): Likewise.
(makeTranslator): Likewise.
Make all parsing functions take a parser state argument.
* boot/translator.boot (shoeOutParse): Adjust.
* interp/spad-parser.boot (stringPrefix?): Remove redudant definition.
|
|
(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.
|
|
* interp/match.boot (charPosition): Likewise.
* boot/utility.boot (charPosition): Now return argument string
length if no match.
(findChar): New.
* boot/scanner.boot (lexerCharPosition): Adjust.
(shoeAccumulateLines): Use findChar.
|
|
(backquote): Do not quote integer and string literals.
|
|
|
|
are now builin.
* boot/ast.boot: Tidy.
* interp/c-util.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/clam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/sys-utility.boot: Likewise.
* interp/sys-driver.boot: Likewise.
* interp/lisplib.boot: Likewise.
* interp/lisp-backend.boot: Likewise.
|
|
|
|
* interp/spad.lisp (knownEqualPred): Move to buildom.boot
(hashable): Likewise.
Remove junk.
* interp/debug.lisp: Remove junk.
* interp/vmlisp.lisp: Likewise.
|
|
|
|
(lexerRefresh?): New.
(lexerSetLine!): Likewise.
(lexerSkipBlank!): Likewise.
(lexerSkipToEnd!): Likewise.
(lexerAdvancePosition!): Likewise.
(lexerCharCountToCompleteTab): Likewise.
(lexerCurrentChar): Likewise.
(lexerCharPosition): Likewise.
(lexerCharacterAt): Likewise.
(lexerEol?): Likewise.
|
|
(shoeNextLine): Use it in replacement of $sz.
(shoeLineToks): Likewise.
(shoeLispEscape): Likewise.
(shoeEsc): Likewise.
(shoeStartsComment): Likewise.
(shoeStartsNegComment): Likewise.
(shoeNegComment): Likewise.
(shoeComment): Likewise.
(shoePossFloat): Likewise.
(shoeSpace): Likewise.
(shoeS): Likewise.
(shoeW): Likewise.
(shoeInteger1): Likewise.
(shoeNumber): Likewise.
(shoeExponent): Likewise.
|
|
|
|
Add a lexer parameter to all lexing functions that need one.
Adjust their callers.
|
|
* boot/ast.boot (bfRestrict): New.
(bpTyped): Rename from bpTagged. Accept type restriction.
* boot/utility.boot (drop): Restrict the result to a %List.
|
|
(makeConstructor): Likewise.
(makeInitialDB): Tidy.
* interp/daase.lisp (makeDB): Take two more parameters. Build a
%Constructor structure object too.
|
|
specified.
* interp/database.boot (populateDFFromFile): Remove.
(printAllInitdbInfo): Write as as Lisp file.
* algebra/Makefile.in (COMPILE_SPAD): initdb is now a FASL.
(BOOTSTRAP): Likewise.
(strap-2/%.$(FASLEXT)): Likewise.
(initdb.$(FASLEXT)): New.
|
|
(GETSTR): Likewise.
* interp/sys-macros.lisp (INTERNL): Likewise.
* interp/macros.lisp: Move content to vmlisp.lisp. Remove.
* interp/Makefile.in: Adjust.
* interp/debug.lisp: Now import sys-macros
* interp/fname.lisp: Likewise.
* interp/format.boot: Likewise.
* interp/g-timer.boot: Likewise.
* interp/g-util.boot: Likewise.
* interp/ht-util.boot: Likewise.
* interp/htcheck.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/monitor.lisp: Likewise.
* interp/newaux.lisp: Likewise.
* interp/newfort.boot: Likewise.
* interp/nlib.lisp: Likewise.
* interp/postpar.boot: Likewise.
* interp/profile.boot: Likewise.
* interp/server.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/setvart.boot: Likewise.
* interp/sfsfun.boot: Likewise.
* interp/simpbool.boot: Likewise.
* interp/spad.lisp: Likewise.
* interp/termrw.boot: Likewise.
* interp/topics.boot: Likewise.
|
|
(makeSourceLine): New.
Use source line macro accessors.
* boot/pile.boot: Likewise.
* boot/scanner.boot: Likewise.
|
|
* interp/database.boot: Likewise.
* interp/format.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/match.boot: Likewise.
* interp/scan.boot: Likewise.
* interp/trace.boot: Likewise.
|
|
(makeToken): New.
* boot/includer.boot: Use %token accessors.
* boot/parser.boot: Likewise.
* boot/pile.boot: Likewise.
* boot/scanner.boot: Likewise.
* boot/utility.boot: Export subString.
|
|
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.
|
|
* boot/tokens.boot: "with" is now a keyword in Boot.
* boot/parser.boot (bpSignature): The typing is required afte the
colong.
(bpFieldList): New.
(bpGlobalAccessors): Likewise.
(bpAccessorDefinitionList): Likewise.
(bpAccessorDefinition): Likewise.
(bpFieldSection): Likewise.
(bpSelectField): Likewise.
(bpRecord): Likewise.
(bpStruct): Use it to implement record structures.
* boot/ast.boot (%Ast): Add %Record and %AccessorDef.
(bfRecordDef): New.
|
|
(shoePROG): Likewise.
(declareLocalVars): New.
(maybeAddBlock): Likewise.
(hasReturn?): Likewise.
(shoeCompTran): Tidy.
|
|
* 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.
|
|
avoiding awakening GCL bug and quadratic traversal of lines.
(parsePiles): Simplify.
|
|
to spad-parser.boot.
* interp/parsing.lisp (MATCH-ADVANCE-SPECIAL): Remove.
(MATCH-SPECIAL): Likewise.
(MATCH-KEYWORD-NEXT): Likewise.
(INITIAL-SUBSTRING-P): Likewise.
(TERMCHR): Likewise.
(dollarTran): Simplify and move to spad-parser.boot.
|
|
(getIntegerInRadix): Likewise.
(getSpadIntegerToken): Likewise.
(getToken): Use it.
* interp/Makefile.in (bootlex.$(FASLEXT)): Remove rule.
(OBJS): Do not include it.
* interp/bootlex.lisp: Remove.
|
|
(parseDara): Likewise. Do not set LABLASOC.
* interp/bootlex.lisp (PRINT-DEFUN): Remove.
(TRANSLABEL): Likewise.
(TRANSLABEL1): Likewise.
* interp/preparse.lisp (LABLASOC): Likewise.
|
|
(LAM,EVALANDFILEACTQ): Likewise.
* interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise.
* interp/slam.boot (reportFunctionCompilation): Tidy.
* interp/lisp-backend.boot (evalAndPrintBackendDecl): New.
* interp/c-util.boot (backendCompileSPADSLAM): Use it in lieu of
SETANDFILE.
(compAndDefine): Use evalAndPrintBackendDecl in lieu of
PRINT-AND-EVAL-DEFUN.
* interp/hypertex.boot: Clean up.
* interp/nhyper.boot: Likewise.
* interp/word.boot: Likewise.
|
|
longer optional. Adjust callers.
(LAM\,EVALANDFILEACTQ): Likewise.
* interp/slam.boot (compQuietly): Use printBackendDecl.
* interp/spad.lisp (SPAD): Likewise.
* interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise.
* interp/macros.lisp (SETANDFILE): Move to vmlisp.lisp.
* interp/lisp-backend.boot (printBackendStmt): New.
(evalAndPrintBackendStmt): Likewise.
(printBackendDecl): Likewise.
* interp/c-util.boot (registerFunctionReplacement): Use
evalAndPrintBackendStmt.
(registerRedexForm): Likewise.
(proclaimCapsuleFunction): Use printBackendStmt.
* interp/Makefile.in (lisp-backend.$(FASLEXT)): Require nlib.$(FASLEXT)
|