aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/translator.clisp
AgeCommit message (Collapse)AuthorFilesLines
2012-05-29 * boot/parser.boot (%ParserState): New.dos-reis1-8/+12
(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.
2012-05-22 * boot/translator.boot (translateToplevel): Handle record structures.dos-reis1-1/+23
* 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.
2012-05-22 * boot/ast.boot (needsPROG): Remove.dos-reis1-930/+890
(shoePROG): Likewise. (declareLocalVars): New. (maybeAddBlock): Likewise. (hasReturn?): Likewise. (shoeCompTran): Tidy.
2012-05-20 * boot/utility.boot (strinSuffix?): New.dos-reis1-3/+2
* boot/translator.boot (shoeRemovebootIfNec): Use it.
2012-05-20 * boot/ast.boot (shoeCompTran): Simplify.dos-reis1-43/+53
(shoeCompTran1): Partially defer translation of fluid variable definition. (bindFluidVars!): New. Complete translation. (groupFluidVars): New. * interp/newfort.boot (fortFormatIntrinsics): Remove redundant return.
2012-05-20 * boot/ast.boot (shoeCompTran1): Take variable sets by reference.dos-reis1-24/+20
Remove globals. Adjust caller. (shoeCompTran): Replace fluid variables by references.
2012-01-08 * boot/ast.boot (bfEnum): New.dos-reis1-16/+25
* boot/translator.boot (translateToplevel): Use it to translate enumeration definitions. * interp/types.boot (%ConstructorKind): Use new syntax.
2011-12-10 * boot/parser.boot (bpArgtypeList): Accept mapping types.dos-reis1-16/+4
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
2011-11-29 * boot/tokens.boot (absKind, absParms, absBody): New selectors.dos-reis1-1/+1
* interp/compiler.boot (canReturn): Handle %lambda forms. (compUnnamedMapping): Generate %lambda forms. Don't optimize them yet. * interp/g-opt.boot: %lambda forms are side-effect free. * interp/lisp-backend.boot: Translate them.
2011-10-03 Cleanup.dos-reis1-4/+2
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis1-5/+3
* boot/ast.boot: Use it. instead of ASSOC. * boot/translator.boot (packageBody): Tidy. * interp/astr.boot: Use objectAssoc instead of ASSQ. * interp/br-con.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/buildom.boot: Likewise. * interp/c-util.boot: Likewise. * interp/category.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-object.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-resolv.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-util.boot: Likewise. * interp/int-top.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/msg.boot: Likewise. * interp/posit.boot: Likewise. * interp/termrw.boot: Likewise. * interp/trace.boot: Likewise. * interp/sys-utility.boot (upwardCut): New. * interp/spad.lisp: Use it. * interp/util.lisp: Likewise. * interp/spaderror.lisp: Likewise. * interp/vmlisp.lisp (ASSEMBLE): Remove. (ASSQ): Likewise. (MEMQ): Likewise. (NAMEDERRSET): Likewise. (ORADDTEMPDEFS): Likewise. * interp/macros.lisp (QLASSQ): Move to vmlisp.lisp. (LASSQ): Remove.
2011-10-01 * boot/parser.boot (bpImport): Accept long names for used namespaces.dos-reis1-12/+25
* boot/translator.boot (packageBody): Tidy. (translateToplevel): Likewise. (getIntermediateLispFile): Likewise. * interp/sys-os.boot: Import System.Foreign.
2011-10-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis1-19/+70
(setUnion): New. (setDifference): New. * boot/translator.boot (packageBody): New. (translateToplevel): Use it. Translate namespace definition. * boot/tokens.boot: Replace bitmask with bitref. Do not translate setDifference and setUnion. * boot/parser.boot (bpDef): Now include namespace definition. (bpComma): Remove namespace rule as subsumed by Where rule. * boot/Makefile.in: Remove dependencies on initial-env.lisp. (AXIOM_LOCAL_LISP_sources): Remove as unused, (boot_sources): Remove as redundant with boot_SOURCES. * boot/initial-env.lisp: Remove.
2011-09-30 * boot/utility.boot (firstNonblankPosition): New.dos-reis1-18/+27
(firstBlankPosition): Likewis. * boot/translator.boot (reallyPrettyPrint): New. (genOptimizeOptions): Use it. (evalBootFile): Tidy. (shoePPtoFile): Remove as deadcode. (shoeAddbootIfNec): Rewrite. (shoeAddStringIfNec): Remove. * boot/scanner.boot (shoeNextLine): Use firstNonblankPosition. (shoeEsc): Likewise. (shoePossFloat): Likewise. * boot/initial-env.lisp ($IEEE): Remove. (*LISP-BIN-FILETYPE*): Likewise. (*LISP-SOURCE-FILETYPE*): Likewise. (SHOEPRETTYPRINT1): Likewise, (REALLYPRETTYPRINT): Likewise. (SHOENOPRETTYPRINT): Likewise. (STRPOS): Likewise. (STRPOSL): Likewise. (shoeReadLisp): Likewise.
2011-09-30 * boot/ast.boot (bfTableIteratorBindingForm): New.dos-reis1-42/+48
(bfExpandTableIters): Use it. * boot/initial-env.lisp (HKEYS): Remove. * boot/tokens.boot (shoeDictCons): Iterate directly over shoeKeyTable. (shoePunCons): Likewise. * boot/translator.boot (shoeReport): Iterate directly over $bootUsed. (shoeXReport): Likewise.
2011-09-30 * boot/ast.boot (bfFor): Tidy. Handle hashtable iterator forms.dos-reis1-952/+855
(bfIterateTable): New. (separateIterators): Likewise. (bfExpandTableIters): Likewise. (bfLp1): Use them.
2011-08-07cleanupdos-reis1-19/+23
2011-08-06cleanupdos-reis1-4/+4
2011-08-05cleanupdos-reis1-4/+4
2011-06-22 * boot/ast.boot (shoeEVALANDFILEACTQ): Remove.dos-reis1-13/+6
(bfMain): Don't use it. (translateToplevelExpression): Likewise. * interp/Makefile.in (stamp): $(AUTO) is no more. (all-interpsys): Likewise.
2011-06-05 * boot/ast.boot: Remove debugging statement.dos-reis1-1/+1
* driver/Makefile.in (open-axiom$(EXEEXT)): Link statically.
2011-05-29 * interp/sys-utility.boot (displayTextFile): New.dos-reis1-12/+12
* interp/i-syscmd.boot (summary): Use it. (copyright): Likewise. * algebra/net.spad.pamphlet: Replace closeFile with closeStream. * boot/translator.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/br-search.boot: Likewise.
2011-05-28 * lisp/core.lisp.in: Define and export readLine and readbyte.dos-reis1-2/+2
* interp/sys-utility.boot (readByteFromFile): Remove. * boot/tokens.boot: Don't rename readLine and readByte. * boot/includer.boot (shoeReadLine): Remove. (bRgen1): Adjust. Use resdLine. * algebra/net.spad.pamphlet (InputBinaryFile): Use readByte from the runtime system.
2011-05-18 * boot/translator.boot: Remove bindings of $GenVarCounter.dos-reis1-163/+133
* boot/parser.boot (bpOutItem): Bind it here.
2011-05-16 * boot/ast.boot (bfAtScope): New.dos-reis1-40/+19
* boot/parser.boot (bpDo): Accept scoped expressions. * boot/translator.boot: Cleanup.
2011-05-15 * boot/ast.boot (shoeCompTran1): Don't indiscriminately walk CASEdos-reis1-2/+2
forms. Translate %Namespace forms too. * boot/parser.boot (bpApplication): Include Namespace too.
2011-05-14cleanupdos-reis1-8/+9
2011-05-12 * boot/initial-env.lisp (MAKE-HASHTABLE): Remove.dos-reis1-6/+6
(BEVC-MAKE-FULL): Likewise. (MAKE-BVEC): Likewise. * boot/tokens.boot (shoeKeyTableCons): Adjust. (shoePunCons): Likewise. (shoeDfu): Likewise. (shoeXref): Likewise.
2011-05-05more cleanupdos-reis1-6/+6
2011-05-05more cleanupsdos-reis1-2/+2
2011-05-04 * boot/initial-env.lisp (shoeOpenOutputFile): Remove. Adjustdos-reis1-43/+51
callers to use outputTextFile.
2011-05-03 * boot/initial-env.lisp (shoeOpenInputFile): Remove. Adjustdos-reis1-40/+52
callers to use inputTextFile with try/finally.
2011-05-03more cleanupdos-reis1-1/+2
2011-05-03more cleanupdos-reis1-55/+67
2011-05-02 * boot/parser.boot (bpDefinition): Accept macro definitiondos-reis1-6/+7
starting with the keyword "MACRO". * boot/translator.boot (exportNames): Export them in all evaluation contexts. * interp/c-util.boot: "macro" is now a keyword. * interp/define.boot: Likewise. * interp/g-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/postpar.boot: Likewise.
2011-05-01 * boot/tokens.boot: Don't rename append.dos-reis1-99/+126
* boot/parser.boot (bpTyping): Support universally quantified types. * boot/ast.boot: Rewrite APPEND as append. (%Forall): New AST node. * boot/translator.boot: Translate it.
2011-04-27 * boot/ast.boot (bfMakeCollectInsn): Fix thinko.dos-reis1-26/+24
2011-04-25 * boot/translator.boot (inAllContexts): New.dos-reis1-7/+19
(translateToplevel): Use it. * boot/parser.boot (bpImport): Accept namespace import.
2011-04-24 * boot/initial-env.lisp (MEMQ): Remove.dos-reis1-2/+2
* boot/ast.boot (shoeATOMs): Don't use it. (isDynamicVariable): Likewise. (shoeCompTran1): Likewise. * boot/translator.boot (defuse1): Likewise.
2011-04-24 * boot/ast.boot (bfMakeCollectInsn): New.dos-reis1-94/+72
(bfDoCollect): Tidy.
2011-04-24 * boot/ast.boot (bfDoCollect): New. Implement one-pass dos-reis1-107/+153
list comprehension. (bfListReduce): Use it.
2011-04-22 * boot/tokens.boot: Don't translate setDifference.dos-reis1-1/+3
* boot/initial-env.lisp (SETDIFFERNECE): Remove. * boot/translator.boot (evalBootFile): Rename form EVAL-BOOT-FILE. * boot/utility.boot (setDifference): Define. * interp/unlisp.lisp (ListMemberQ?): Remove. (ListRemoveQ): Likewise. (AlistAssocQ): Likewise.
2011-04-21 * boot/tokens.boot: Don't rename nreverse.dos-reis1-7/+8
* boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE.
2011-04-19 * interp/newfort.boot: Likewise.dos-reis1-1/+3
* interp/define.boot (orderBySubsumption): Fix thinko. * interp/boot-pkg.lisp: Use BOOTTRAN package. Don't import names individually. * boot/utility.boot: New. * boot/translator.boot (exportNames): Fix thinko. * boot/tokens.boot: Add charEq? and scalarEq? builtiin functions. * boot/ast.boot (bfMember): Generate call to symbolMember? for membership tests for symbols.
2011-04-19 * boot/ast.boot (%Module): Now take three arguments.dos-reis1-15/+27
* boot/parser.boot (bpModuleInterface): Rename from bpExports. (bpModuleExports): New. (bpModule): Now allow specification of exported names.
2011-03-20 * boot/translator.boot (FC): Remove.dos-reis1-80/+8
(FBO): Likewise. (FEV): Likewise. (shoeGeneralFC): Likewise. (shoeFindName): Likewise. (shoeFindName2): Likewise. (shoeTransform2): Likewise. * boot/scanner.boot (shoeLineToks): Don't support `)package' line anymore. * boot/includer.boot: Remove support for `)package', `)include', `)includelisp', `)includelines' lines. (shorPackageStartsAt): Remove. (shorFindLines): Likewise. (shoeFileInput): Likewise. (shoeLispFileInput): Likewise. (shoeLineFileInput): Likewise. (shoeFunctionFileInput): Likewise. (shoePlainLine?): Reflect removal. (shoeSimpleLine): Likewise. * boot/tokens.boot (charByName): New builtin library function. * algebra/sf.spad.pamphlet (RealNumberSystem): Don't re-export abs. It is already exported by OrderedRing.
2010-12-29More character cleanupdos-reis1-2/+2
2010-12-29SUBSTRING cleanupdos-reis1-3/+3
2010-12-28more cleanupdos-reis1-7/+7
2010-12-27 * boot/initial-env.lisp (IDENTP): Remove.dos-reis1-2/+2
* boot/ast.boot: Replace IDENTP with symbol? where appropriate. * boot/parser.boot: Likewise. * boot/translator.boot: Likewise.