aboutsummaryrefslogtreecommitdiff
path: root/src/boot/ast.boot
AgeCommit message (Collapse)AuthorFilesLines
2010-05-28 Add support for 'property' builtin function.dos-reis1-0/+4
* interp/g-timer.boot: Rename property to prop to avoid conflict. * boot/parser.boot (bpAssignLHS): Allow functional places to assign to. * boot/ast.boot (bfPlace): New. (bfAssign): Handle %Place forms. * boot/tokens.boot: property is now translated to GET.
2010-05-23 * boot/tokens.boot: gensym is now candidate for renaming.dos-reis1-7/+7
* boot/ast.boot: Replace GENSYM with gensym. * interp/buildom.boot: Likewise. * interp/clam.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/macex.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/parse.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/postpar.boot: Likewise. * interp/ptrees.boot: Likewise. * interp/server.boot: Likewise. * interp/slam.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/wi1.boot: Likewise. * interp/wi2.boot: Likewise.
2010-05-22 * interp/cparse.boot (npQuiver): Redefine. Now send Applicationdos-reis1-29/+29
to Application. (npTypedForm): Replace Application with Quiver. (npTypified): Likewise. (npTagged): Use npTypedForm not npTypedForm1. (npDiscrim): Now extend Relation, not Quiver. (npMdef): Allow same LHS as npDef. (npSingleRule): Likewise. * boot/ast.boot: Replace CONCAT with strconc. Replace SYMBOL-NAME with PNAME. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-19 * boot/ast.boot: Add %Leave ast node.dos-reis1-1/+4
(bfLeave): New. * boot/parser.boot (bpLeave): Use it.
2010-05-15 * boot/ast.boot (shoeCompTran1): Handle %Leave expressions.dos-reis1-0/+1
* boot/parser.boot (bpReturn): Parse leave-expressions too. * interp/mark.boot (markInsertBodyParts): properly escape Boot keywords.
2010-05-10 Add lambda expression syntax to Boot.dos-reis1-0/+8
* boot/parser.boot (bpLambda): New. * boot/ast.boot (bfLambda): New. * boot/tokens.boot: Add "+->" as token. * interp/cparse.boot: Use lambda expression syntax. * interp/c-util.boot: Likewise.
2010-05-09More cleanupsdos-reis1-3/+3
2010-05-09 * boot/ast.boot: Miscellaneous cleanup.dos-reis1-39/+39
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-07 * boot/ast.boot: Miscellaneous cleanup.dos-reis1-59/+59
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-07 * boot/ast.boot: Translate assignment to head and tail of a list.dos-reis1-3/+5
Remove explicit uses of RPLACA and RPLACD. * boot/includer.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-06 * interp/wi2.boot: Replace INTEGERP, STRINGP, SYMBOLP, CONSP withdos-reis1-18/+18
integer?, string?, symbol?, and cons? respectively. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot: Likewise. * interp/showimp.boot: Likewise. * interp/setvars.boot: Likewise. * interp/record.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/postpar.boot: Likewise. * interp/posit.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/pf2atree.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nrungo.boot: Likewise. * interp/nrunfast.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/msg.boot: Likewise. * interp/modemap.boot: Likewise. * interp/match.boot: Likewise. * interp/mark.boot: Likewise. * interp/interop.boot: Likewise. * interp/int-top.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec2.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-intern.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/htcheck.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/g-util.boot: Likewise. * interp/g-opt.boot: Likewise. * interp/g-error.boot: Likewise. * interp/g-boot.boot: Likewise. * interp/functor.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/format.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/define.boot: Likewise. * interp/compress.boot: Likewise. * interp/compiler.boot: Likewise. * interp/clammed.boot: Likewise. * interp/clam.boot: Likewise. * interp/cformat.boot: Likewise. * interp/cattable.boot: Likewise. * interp/category.boot: Likewise. * interp/c-util.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/buildom.boot: Likewise. * interp/br-util.boot: Likewise. * interp/br-search.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-con.boot: Likewise. * interp/bc-util.boot: Likewise. * interp/ax.boot: Likewise. * interp/as.boot: Likewise. * boot/translator.boot: Likewise. * boot/ast.boot: Likewise. * boot/includer.boot: Likewise. * boot/tokens.boot: Add new replacement for integer?, string?, symbol? and cons?
2010-02-08 Add support for CLozure CL.dos-reis1-8/+66
* lisp/core.lisp.in: Add support for Clozure CL. (main): Remove as unused. * driver/utils.h (openaxiom_runtime): Add openaxiom_clozure_runtime. * boot/translator.boot (loadNativeModule): Handle Clozure CL. * boot/ast.boot (nativeType): Handle Clozure's FFI types. (nativeReturnType): Likewise. (coerceToNativeType): Likewise. (genCLOZUREnativeTranslation): New. (genImportDeclaration): Use it. * interp/vmlisp.lisp (SINTP): Remove duplicate definition. (SMINTP): Likewise. (ZERO?): Likewise. (GCMSG): Reorganize definition. (BPINAME): Likewise.
2009-09-26Fix typodos-reis1-1/+1
2009-09-25 * boot/ast.boot (bfMember): Improve a bit.dos-reis1-1/+2
* boot/tokens.boot: Don't rename 'is' and 'inst'. * boot/parser.boot: Use 'in' instead of 'MEMQ' where approrpriate. * interp/: Likewise.
2009-09-25 * boot/ast.boot (bfMember): New.dos-reis1-1/+12
(bfInfApplication): Use it. * boot/tokens.boot: Don't rename IN. * interp/ax.boot (makeAxFile): Fix thinko. (makeAxExportForm): Likewise.
2009-09-20 * boot/tokens.boot: "has" is not a keyword.dos-reis1-6/+11
* boot/ast.boot (bfHas): New. (bfReduce): Use "has" instead "has". (bfReduceCollect): Likewise. (bfReName): Likewise. (bfElt): Likewise. (bfSetelt): Likewise. * boot/parser.boot (bpSexpKey): Likewise. (bpPrefixOperator): Likewise. (bpInfixOperator): Likewise. (bpThetaName): Likewise. (bpIs): Parse "has" expressions. * boot/pile.boot (shoePileCoagulate): Likewise. * interp/: Fix unquoted use of "has". * interp/interop.boot (has): Remove.
2009-09-08 * boot/ast.boot: Support "pointer" as simple datatype.dos-reis1-10/+13
* interp/compiler.boot (getBasicFFIType): SystemPointer is an FFI type. * algebra/data.spad.pamphlet (SystemPointer): New. * algebra/Makefile.pamphlet (axiom_algebra_layer_0): Include SYSPTR.
2009-09-04(no commit message)dos-reis1-239/+248
2009-09-04 * boot/ast.boot (bfAlternative): New. Move single assignment indos-reis1-2/+7
pattern matching to the body of the branch. (bfSequence): Use it.
2009-09-03(no commit message)dos-reis1-15/+11
2009-09-03 * boot/ast.boot: More cleanup.dos-reis1-5/+4
2009-09-02 * boot/ast.boot: More cleanup.dos-reis1-186/+165
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise.
2009-08-30 * boot/ast.boot (bfSequence): Simplify COND branch bodies.dos-reis1-7/+12
2009-08-29 * boot/ast.boot (bfCase): Don't hold scrutinee's remainingdos-reis1-11/+4
structure in a temporary. (bfCI): Adjust generation of selectors.
2009-08-29 * boot/ast.boot (%Definition): Lose one argument.dos-reis1-38/+19
(bfDefinition): Remove. (bfSimpleDefinition): Likewise. (bfCompDef): Likewise. (bfDefSequence): Likewise. (defSheepAndGoats): Tidy. * boot/parser.boot (bpSimpleDefinitionTail): Likewise. (bpCompoundDefinitionTail): Likewise. (bpDefinitionPileItems): Likewise. (bpSemiColonDefinition): Likewise. * boot/translator.boot (translateToplevel): Likewise.
2009-08-29(no commit message)dos-reis1-4/+0
2009-08-29 * boot/ast.boot: More cleanup.dos-reis1-29/+12
* boot/parser.boot: Likewise. * boot/translator.boot: Likewise.
2009-08-29 * boot/ast.boot: Cleanup.dos-reis1-32/+19
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.