Age | Commit message (Collapse) | Author | Files | Lines |
|
(genImportDeclaration): Update it.
* boot/translator.boot (genModuleFinalization): Tidy. Generate
code to update $dynamicForeignFunctions where necessary.
(atLoadOrExecutionTime): New.
* lisp/core.lisp.in (UNBIND-FOREIGN-FUNCTION-SYMBOLS): New.
(saveCore): Use it.
($dynamicForeignFunctions): New. Export.
|
|
and i-resolv intead.
($CoerceTable): Fix embarrassing thinko.
* interp/i-coerce.boot: Import i-coerfn.
(coerceIntTableOrFunction): Tidy.
* boot/utility.boot (objectAssoc): Tidy.
|
|
* interp/sys-driver.boot (%sysInit): Do not call
sys-osInitCLispFFI (no longer necessary.)
* boot/translator.boot (genModuleFinalization): Generate forms to
be evaluated at load and execution time, instead of a function call.
* interp/spad.lisp (process): Remove.
|
|
* config/open-axiom.m4 (OPENAXIOM_CHECK_DELAYED_FFI): New.
(OPENAXIOM_HOST_COMPILERS): Call it.
src/
* lisp/core.lisp.in (primitiveLoad): New. Export.
($delayedFFI): Likewise.
* lisp/Makefile.in (oa_delay_ffi): New.
(edit): Update.
* interp/sys-utility.boot: import sys-constants instead of sys-os.
* interp/sys-driver.boot (%sysInit): Do not loadSystemRuntimeCore.
(loadDelayedFFI): New.
(executeSpadScript): Call it.
(compileSpadLibrary): Likewise.
(buildInitdbHandler): Likewise.
(systemMain): Likewise.
* interp/util.lisp (BUILD-INTERPSYS): Likewise.
* interp/Makefile.in (oa_target_moddir): New.
(OA_FFI_MOD): Likewise.
(OA_FFI_OBJ): Define conditionally.
(OBJS): Use it.
($(oa_target_delayed)): New rule.
(oa_target_delayed): New.
(oa_target_ffi): Define conditionally.
(${SAVESYS}): Require it.
(${AXIOMSYS}): Likewise.
(sys-utility.$(FASLEXT)): Now require sys-constants.$(FASLEXT).
|
|
underbar when WIN32 (no longer necessary.)
* include/open-axiom.h (OPENAXIOM_EXPORT): Fix thino.
|
|
* lib/cfuns-c.c (oa_getcwd): Tidy.
(oa_spawn): Likewise.
* lib/sockio-c.c (send_string_len): Likewise.
* utils/command.cc (option_value): Likewise.
(execute_core): Likewise.
|
|
* interp/spad-parser.boot: Do not include. Import lexing instead.
* interp/Makefile.in: Adjust.
|
|
* 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.
|
|
(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.
|
|
(makeSourceLine): New.
Use source line macro accessors.
* boot/pile.boot: Likewise.
* boot/scanner.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.
|
|
* boot/translator.boot (shoeRemovebootIfNec): Use it.
|
|
(shoeCompTran1): Partially defer translation of fluid variable
definition.
(bindFluidVars!): New. Complete translation.
(groupFluidVars): New.
* interp/newfort.boot (fortFormatIntrinsics): Remove redundant return.
|
|
Remove globals. Adjust caller.
(shoeCompTran): Replace fluid variables by references.
|
|
* boot/ast.boot (%Ast): Add %Dynamic variant.
(bfColonColon): Use symbolBinding instead of FIND-SYMBOLS.
(compFluid): Return a %Dynamic form. Adjust callers.
(shoeCompTran): Tidy.
* boot/translator.boot (BOOTLOOP): Tidy.
(BOOTPO): Likewise.
|
|
* lisp/core.lisp.in (maxIndex): Define and export.
* interp/bootlex.lisp: Adjust.
* interp/parsing.lisp: Likewise.
* interp/macros.lisp: Likewise.
(DROPTRAILINGBLANKS): Remove.
(BLANKP): Likewise.
(NONBLANKLOC): Likewise.
* interp/io.boot (trimTrailingBlank): New.
(firstNonblankCharPosition): Likewise.
* interp/preparse.lisp: Use them. Adjust.
* interp/sys-macros.lisp (char): Remove.
* interp/vmlisp.lisp (MAXINDEX): Likewise.
* interp/br-search.boot (pmTransFilter): Fix bogus uses of char.
* interp/debug.lisp: Likewise.
* interp/g-util.boot: Likewise.
* interp/ht-root.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
|
|
floating point literals too. Adjust callers.
(bfLessp): Check for integer or floating pointer numbers.
* interp/vmlisp.lisp (complex?): New.
(complex): Likewise.
(realPart): Likewise.
(imagPart): Likewise.
(conjugate): Likewise.
(sqrt): Likewise.
|
|
(bpConstTok): Include it.
* boot/ast.boot (bfFunction): New.
* boot/tokens.boot: `function' is now a keyword.
|
|
* boot/parser.boot (bpSexpKey): Use it.
* interp/i-map.boot (mapPredTran): Fix thinko.
|
|
|
|
* boot/translator.boot (translateToplevel): Use it to translate
enumeration definitions.
* interp/types.boot (%ConstructorKind): Use new syntax.
|
|
(QSORT): Likewise.
* interp/c-util.boot (formal?): Rename from isFormal. Avoid POSITION.
* interp/sys-utility.boot (sortBy): New.
* interp/br-op1.boot: Use it.
* interp/clam.boot: Likewise.
* interp/define.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-coerfn.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/showimp.boot: Likewise.
* boot/tokens.boot: "<-" is now a token.
* boot/ast.boot (bfKeyArg): New.
(bfExpandKeys): Likewise.
(bfApplication): Use it.
* boot/parser.boot (bpKeyArg): New.
(bpAssign): Use it. Parse named arguments.
|
|
loopBody and loopExit are not selectors.
* interp/i-output.boot: Include sys-utility.
* interp/sys-utility.boot (last): New macro.
(loopBody): Likewise.
* interp/vmlisp.lisp (LASTNODE): Remove.
(LASTPAIR): Likewise.
(last): Do not define here.
|
|
* boot/utility.boot (drop): Define and export.
(take): Likewise.
* interp/br-con.boot: Use take, not TAKE; use drop, not DROP.
* interp/br-data.boot: Likewise.
* interp/br-op1.boot: Likewise.
* interp/br-saturn.boot: Likewise.
* interp/c-doc.boot: Likewise.
* interp/c-util.boot: Likewise.
* interp/cattable.boot: Likewise.
* interp/clammed.boot: Likewise.
* interp/compiler.boot: Likewise.
* interp/database.boot: Likewise.
* interp/define.boot: Likewise.
* interp/guess.boot: Likewise.
* interp/htsetvar.boot: Likewise.
* interp/i-analy.boot: Likewise.
* interp/i-eval.boot: Likewise.
* interp/i-funsel.boot: Likewise.
* interp/i-map.boot: Likewise.
* interp/i-output.boot: Likewise.
* interp/i-special.boot: Likewise.
* interp/i-syscmd.boot: Likewise.
* interp/i-toplev.boot: Likewise.
* interp/i-util.boot: Likewise.
* interp/nruncomp.boot: Likewise.
* interp/parse.boot: Likewise.
* interp/record.boot: Likewise.
* interp/setvars.boot: Likewise.
* interp/slam.boot: Likewise.
* interp/trace.boot: Likewise.
* interp/word.boot: Likewise.
* interp/macros.lisp (DROP): Remove.
(TAKE): Likewise.
|