aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
AgeCommit message (Collapse)AuthorFilesLines
2009-08-28 * boot/ast.boot (bfCase): Don't introduce temporary for scrutineedos-reis1-6/+16
when it is already reduced.
2009-08-27 * boot/tokens.boot: "namespace" is now a keyword.dos-reis1-0/+1
* boot/ast.boot (%Ast): Add %Namespace branch. * boot/parser.boot (bpNamespace): New. (bpComma): Adjust.
2009-08-20 Discontinue computation of difference between "old" and "new" Boot.dos-reis1-35/+2
* boot/ast.boot (bfGetOldBootName): Remove. (bfSameMeaning): Likewise. (bfReName): Don't compute the diff between old and new Boot. * boot/translator.boot ($translatingOldBoot): Remove. (AxiomCore::%sysInit): Don't set it.
2009-08-19 * boot/ast.boot: Consistently prefix AST names by "%".dos-reis1-47/+47
* boot/translator.boot: Adjust. * boot/parser.boot: Likewise.
2009-08-14 * boot/tokens.boot: Retire "^=". Introduce "~=".dos-reis1-4/+4
* boot/ast.boot: Use "~=" instead of "^=". * boot/includer.boot: Likewise. * boot/translator.boot: Likewise. * interp/as.boot: Likewise. * interp/bc-misc.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-cndata.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/g-util.boot: Likewise. * interp/guess.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-code.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/interop.boot: Likewise. * interp/intfile.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/macex.boot: Likewise. * interp/mark.boot: Likewise. * interp/match.boot: Likewise. * interp/modemap.boot: Likewise. * interp/msg.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pathname.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/profile.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/record.boot: Likewise. * interp/scan.boot: Likewise. * interp/setvars.boot: Likewise. * interp/simpbool.boot: Likewise. * interp/slam.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise. * interp/word.boot: Likewise.
2009-05-14 * algebra/any.spad.pamphlet (RuntimeValue): New domain.dos-reis1-2/+6
* algebra/Makefile.pamphlet ($(OUT)/RTVALUE.$(FASLEXT)): New rule.
2009-05-10 Cope with SBCL-1.0.28 improvements.dos-reis1-5/+34
* boot/translator.boot (translateToplevel): Load imported modules. * boot/ast.boot ($constantIdentifiers): New. ($activeNamespace): Likewise. (bfSimpleDefinition): Likewise. (isDynamicVariable): Likewise. (shoeCompTran1): Tidy. Use it. * boot/parser.boot (bpSimpleDefinitionTail): Use bfSimpleDefinition. * boot/Makefile.in (stage1/%.clisp): Specify load directory. (stage2/%.clisp): Likewise. * lisp/core.lisp.in (startCompileDuration): Export. (endCompileDuration): Likewise.
2009-04-20 * boot/ast.boot (genECLnativeTranslation): Tidy.dos-reis1-7/+4
(genSBCLnativeTranslation): Likewise. * interp/compiler.boot (emitLocalCallInsn): Likewise. (compForm1): Allow package call to external function. (compElt): Likewise. (getExternalSymbolMode): New. (compForeignPackageCall): Likewise.
2009-04-07 * boot/ast.boot: Support more ISO C sized integer type in FFI.dos-reis1-4/+21
2009-04-06 * boot/ast.boot: Support more ISO C sized integer type in FFI.dos-reis1-16/+60
2009-03-26 * boot/ast.boot (nativeType): Accept int16 and int32.dos-reis1-2/+10
(getFFIDatatype): Accept ReadWrite modifier. * algebra/data.spad.pamphlet (Int32): New. (UInt64): Likewise. * algebra/Makefile.pamphlet (axiom_algebra_layer_7): Include INT64 and UINT64.
2009-03-08 * interp/fnewmeta.lisp (PARSE-Import): Parse extern entitydos-reis1-10/+10
signature import. * interp/functor.boot (encodeLocalFunctionName): New. * interp/define.boot (compDefine1): Avoid getAbbreviation. (doIt): Handle %SignatureImport nodes. * interp/compiler.boot (emitLocalCallInsn): New. (applyMapping): Use it. (compApplication): Likewise. (bootDenotation): New. (getBasicFFIType): Likewise. (getFFIDatatype): Likewise. (getBootType): Likewise. (checkExternalEntityType): Likewise. (checkExternalEntity): Likewise. (removeModifiers): Likewise. (compSignatureImport): Likewise. * interp/vmlisp.lisp (|compileLispDefinition|): New. * interp/boot-pkg.lisp: Import genImportDeclaration. * boot/initial-env.lisp: Export genImportDeclaration. * boot/ast.boot: Tidy. Accept `readwrite' modifier.
2009-02-28 * lisp/core.lisp.in ($ECLVersionNumber): New.dos-reis1-2/+5
* boot/ast.boot (genECLnativeTranslation): Use it.
2008-11-03 * interp/Makefile.pamphlet (template.$(FASLEXT)): Remove.dos-reis1-10/+6
* interp/template.boot: Move non-dead code where appropriate. Remove file. * boot/ast.boot (bfQ): Improve.
2008-10-31 * boot/ast.boot (genECLnativeTranslation): Fix thinko.dos-reis1-1/+1
2008-10-24 Add basic support for stream client socket.dos-reis1-1/+1
* lib/sockio-c.c (oa_inet_pton): Define. (oa_get_host_address): Likewise. * algebra/net.spad.pamphlet (IP4Address): New. (NetworkClientSocket): Likewise. (InetClientStreamSocket): Likewise. * algebra/data.spad.pamphlet (DataArray): Rename from DataBuffer. (ByteBuffer): Rename from ByteArray. Reimplement. * algebra/exposed.lsp.pamphlet: Expose IP4Address, InetClientStreamSocket, NetworkClientSocket.
2008-10-22 * boot/ast.boot: Expand on native call translation.dos-reis1-17/+324
* interp/sys-os.boot (oa_filedesc_read): Adjust declaration. (oa_filedesc_write): Likewise.
2008-10-08 * boot/ast.boot (bfReduce): Check neutral value for originaldos-reis1-3/+3
operator too. (bfReduceCollect): Likewise.
2008-09-18Update algebra databasesdos-reis1-1/+1
2008-09-13 * lisp/core.lisp.in (|$NativeTypeTable|): Don' include `pointer'dos-reis1-1/+17
and `buffer'. * lisp/Makefile.in (pointer_type): Remove. (edit): Tidy. * boot/ast.boot (nativeType): Tidy. Handle `pointer' and `buffer' here. * boot/translator.boot (genImportDeclaration): Tidy.
2008-08-23 * lisp/core.lisp.in [CLISP]: Set global customization variables.dos-reis1-1/+6
Don't translate C-strings. * boot/ast.boot (nativeType) [SBCL]: Don't translate C-strings.
2008-08-02 * boot/parser.boot (bpTerm): Term forms depend on the kind ofdos-reis1-3/+4
variable. (bpTypeItem): New. (bpTypeItemList): Use it. (bpTypeAliasDefition): Tidy. (bpCaseItem): Accept wildchars in pattern terms. * boot/ast.boot (bfCompDef): Don't name unused pattern variables. (bfSmintable): A character compares EQL. (bfCI): Ignore wildcard pattern variables. * boot/strap: Update cached Lisp translation.
2008-08-02 * interp/macros.lisp (sayBrightlyNT1): Tidy.dos-reis1-1/+1
(sayBrightly1): Likewise. * interp/msgdb.boot (sayNewLine): Take two defauled arguments. (sayString): Take a second defaulted arguments. (spadStartUpMsgs): Tidy. (brightPrint): Likewise. (brightPrint0): Likewise. (brightPrint0AsTeX): Likewise. (brightPrint1): Likewise. (brightPrintHighlight): Likewise. (brightPrintHighlightAsTeX): Likewise. (brightPrintCenter): Likewise. (brightPrintCenterAsTeX): Likewise. (brightPrintRightJustify): Likewise. * interp/i-output.boot (mathprint): Take a second defaulted argument. * boot/ast.boot (%Assignment): Rename from Assignment.
2008-05-19 * boot/ast.boot: Cleanup.dos-reis1-119/+127
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise.
2008-05-09 * interp/c-util.boot: Remove Old Boot semantics.dos-reis1-1/+2
* interp/database.boot: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * boot/includer.boot (diagnosticLocation): New. * boot/ast.boot (bfReName): Use it.
2008-05-08 * boot/translator.boot (translateToplevel): Split out of bpOutItem.dos-reis1-1/+1
(maybeExportDecl): New.
2008-05-08 * boot/translator.boot (bpOutItem): Handle namespace declaration.dos-reis1-3/+2
Update all boot files to use `namespace' instead of `)package'. * interp/: Likewise.
2008-04-30 * boot/parser.boot (bpExportItemList): New.dos-reis1-2/+2
(bpExports): Likewise. (bpModule): Use it. * boot/ast.boot (bfCreateDef): Tidy. * boot/strap: Update cached Lisp translation.
2008-04-29Cleanup, part 2.dos-reis1-2/+2
2008-04-23 * boot/ast.boot: Tidy.dos-reis1-3/+3
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise. * boot/strap: Update Lisp translation. * lisp/core.lisp.in: Tidy.
2008-04-19 * boot/translator.boot: Cleanup.dos-reis1-9/+16
2008-04-19 * boot/ast.boot (%DefaultValue): New %Ast node.dos-reis1-12/+26
(bfParameterList): New. (bfInsertLet): Use it. (bfInsertLet1): Handle parameter with default values. * boot/parser.boot (bpRegularBVItemTail): Split from bpRegularBVItem. (bpRegularBVItem): Tidy.
2008-04-09 * boot/translator.boot (bpOutItem): Tidy.dos-reis1-1/+20
* boot/parser.boot (bpTypeAliasDefition): Support parameterized alias. * boot/ast.boot (quote): New. (backquote): Likewise. (genTypeAlias): Likewise.
2008-03-24Add support for SBCL and CLispdos-reis1-2/+4
2008-03-16 * lisp/Makefile.in (void_type): New.dos-reis1-0/+14
(char_type): Likewise. (int_type): Likewise. (float_type): Likewise. (double_type): Likewise. (string_type): Likewise. (pointer_type): Likewise. (edit): Use them. * interp/wi1.boot (ppFull): Tidy. Don't set *PRINT-DEPTH*. * interp/vmlisp.lisp (gcmsg): Define when SBCL. * interp/template.boot (measureCommon): Fix thinko. * interp/sys-utility.boot: Move basic type definition from g-util.boot to here. * interp/g-util.boot (augProplistOf): Fix signature declaration. * interp/daase.lisp: Tidy. * interp/c-util.boot (displayComp): Remove assignment to $X,$M,$F. * interp/boot-pkg.lisp: Tidy. * interp/axext_l.lisp: Likewise. * interp/Makefile.pamphlet (makeint.lisp): Call GBC only when GCL. ($(axiom_targetdir)/algebra/exposed.$(FASLEXT)): Tidy. (patches.$(FASLEXT)): Require debug.$(FASLEXT), g-timer.$(FASLEXT). (wi2.$(FASLEXT)): Require define.$(FASLEXT). (spad.$(FASLEXT)): Require postpar.$(FASLEXT), debug.$(FASLEXT). * boot/translator.boot (genImportDeclaration): Include translation for SBCL. * boot/parser.boot (bpMapping): Tidy. * boot/ast.boot (coreSymbol): New. (bootSymbol): Likewise. (bootSymbol): Likewise. * lisp/core.lisp.in (|$NativeTypeTable|): New. Export. * algebra/Makefile.pamphlet (COMPILE_LISP): Use $(INTERPSYS). * algebra/exposed.lsp.pamphlet: Tidy.
2008-02-15 Add try/catch to Boot.dos-reis1-0/+19
* boot/tokens.boot (shoeKeyWords): Add new keywords. * boot/ast.boot (Ast): Include three new nodes. (bfTry): New. (bfThrow): Likewise. * boot/parser.boot ($bodyHasReturn): Remove. (bpNoteReturnStmt): Likewise. (bpThrow): New. (bpTry): Likewise. (bpPiledCatchItems): Likewise. (bpCatchItemList): Likewise. (bpExceptionHead): Likewise. (bpExceptionTail): Likewise. (bpException): Likewise. (bpCatchItem): Likewise. (bpReturn): Include `throw' expressions. (bpStatement): Include `try' expressions. * interp/macros.lisp (|tryLine|): Rename from |try|. * interp/pspad1.boot: Replace `try' with `tryLine' throughout.
2008-02-04 * boot/translator.boot (translateToplevelExpression): New.dos-reis1-16/+21
(bpOutItem): Use it. * boot/ast.boot (needsPROG): New. (shoeCompTran): Use it. Tidy. (bfMain): Define cache variables before functions manipulating them. * boot/strap/: Update cached Lisp translations. * interp/g-timer.boot: Use assignment instead of SETANDFILEQ at toplevel. * interp/i-syscmd.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/trace.boot: Likewise.
2008-01-29fix typos from last commitdos-reis1-4/+4
2008-01-28Update Boot codedos-reis1-50/+92
2008-01-28 Support signature declaration in Boot.dos-reis1-7/+13
* boot/ast.boot (bfUntuple): New. (bfTagged): Toplevel tags are signatures. * boot/parser.boot (bpTyping): New. (bpTagged): Use it. * boot/translator.boot (genDeclaration): New. (bpOutItem): Use it. * interp/compiler.boot: Add type annotations for compiler routines. * lisp/Makefile.in ($(OUT)/lisp$(EXEEXT)): Don't turn on emit-fn.
2008-01-28 * boot/Makefile.pamphlet: Remove.dos-reis1-0/+1087
* boot/translator.boot: New. * boot/translator.boot: Remove. * boot/tokens.boot: New. * boot/tokens.boot.pamphlet: Remove. * boot/scanner.boot: New. * boot/scanner.boot.pamphlet: Remove. * boot/pile.boot: New. * boot/pile.boot.pamphlet: Remove. * boot/parser.boot: New. * boot/parser.boot.pamphlet: New. * boot/initial-env.lisp: New. * boot/initial-env.lisp.pamphlet: Remove. * boot/includer.boot: New. * boot/includer.boot.pamphlet: Remove. * boot/ast.boot: New. * boot/ast.boot.pamphlet: Remove.