aboutsummaryrefslogtreecommitdiff
path: root/src/boot/translator.boot
AgeCommit message (Collapse)AuthorFilesLines
2016-12-29Add Boot support for native load unit specification in foreignGabriel Dos Reis1-3/+11
function import.
2016-02-01Support ')read' of Boot fileGabriel Dos Reis1-6/+5
Allow the system command to ')read' a Boot source file: the involves (1) compiling Boot to machine code (2) loading the resulting FASL in the current system Note that if the boot file has any dependency in terms of 'import', one needs to set up the $LoadDirectories appropriately, or else the system will crash. In particular, if you're modifying OpenAxiom source files you need to include the appropriate directories containing OpenAxiom fasl files.
2015-12-24Tidy uses of apply.Gabriel Dos Reis1-2/+2
2015-12-24Translate apply(f,[args]) as FUNCALL(f,args)Gabriel Dos Reis1-5/+7
2015-12-23Retain Lisp code generated from algebra if asked.Gabriel Dos Reis1-2/+2
2014-02-02misc updatedos-reis1-1/+1
2012-08-23 * boot/ast.boot ($ffs): New.dos-reis1-9/+10
(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.
2012-08-20 * interp/util.lisp (BUILD-INTERPSYS): loadDelayedFFI early.dos-reis1-4/+5
* 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.
2012-08-18 * boot/translator.boot (shoeOutParse): Fix thinko.dos-reis1-2/+2
* 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.
2012-06-03 * boot/parser.boot (bpSignatureTail): Split out of bpSignature.dos-reis1-2/+0
(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.
2012-06-01 * boot/translator.boot: Remove DEFUSE, $booDefined,dos-reis1-151/+0
$bootDefinedTwice, $bootUsed, $lispWordTable, shoeDfu, shoeReport, shoeDefUse, defuse, defuse1, defSeparate, unfluidlist, defusebuiltin, bootOut, CLESSP, SSORT, bootOutLines, XREF, shoeXref, shoeXreport.
2012-06-01 * boot/ast.boot (%LoadUnit): Add field for enclosing function.dos-reis1-1/+0
Remove references to $op.
2012-06-01 * boot/ast.boot (%LoadUnit): Add fields for side conditions.dos-reis1-1/+0
* boot/parser.boot: Adjust.
2012-05-31 * boot/ast.boot: Add a %LoadUnit parameter to most functions.dos-reis1-6/+7
Adjust callers. * boot/translator.boot: Tidy.
2012-05-30misc cleanupdos-reis1-2/+2
2012-05-30 * boot/parser.boot: Replace references to $ttok.dos-reis1-1/+0
2012-05-30 * boot/parser.boot (%ParserState): Add field for current token.dos-reis1-1/+0
Replace references to $stok.
2012-05-30 * boot/ast.boot (bfSpecificErrorHere): New.dos-reis1-1/+1
(bfISReverse) Use it. Don't use bpTrap. (bfIS1): Likewise. (bfParameterList): Likewise. (bfHandlers): Likewise. * boot/parser.boot (bpTrap): Take a parser state argument. Adjust callers.
2012-05-30 * boot/parser.boot: Remove references to $bpCount.dos-reis1-1/+0
* boot/translator.boot (shoeOutParse): Likewise.
2012-05-30 * boot/parser.boot: Remove references to $bpParentCount.dos-reis1-1/+0
* boot/translator.boot (shoeOutParse): Likewise.
2012-05-30 * boot/parser.boot: Remove references to $stack.dos-reis1-3/+2
* boot/translator.boot: Likewise.
2012-05-30 * boot/parser.boot: Add parser state argument to more functions.dos-reis1-3/+2
Remove references to $inputStream. * boot/translator.boot (shoeOutParse): Remove $inputStream.
2012-05-29 * boot/parser.boot (%ParserState): New.dos-reis1-3/+4
(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-28 * interp/lexing.boot: Use makeToken directly.dos-reis1-4/+4
(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.
2012-05-22 * boot/translator.boot (translateToplevel): Handle record structures.dos-reis1-0/+1
* 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-20 * boot/utility.boot (strinSuffix?): New.dos-reis1-3/+2
* boot/translator.boot (shoeRemovebootIfNec): Use it.
2012-05-19 * boot/tokens.boot: symbolBinding is now builtin.dos-reis1-5/+3
* 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.
2012-01-08 * boot/ast.boot (bfEnum): New.dos-reis1-1/+3
* 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-6/+2
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
2011-10-03 Cleanup.dos-reis1-1/+1
2011-10-02 * lisp/core.lisp.in: Do not use CCL in AxiomCore.dos-reis1-4/+2
* boot/translator.boot (packageBody): Tidy. * boot/scanner.boot (shoeOrdToNum): Remove. * boot/includer.boot (shoeBiteOff): Remove. (shoeFileName): Likewise. (shoeFnFileName): Likewise.
2011-10-02 * boot/utility.boot (objectAssoc): New. Export.dos-reis1-4/+2
* 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-7/+15
* 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-2/+18
(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-19/+16
(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-4/+3
(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-08-06cleanupdos-reis1-4/+4
2011-08-05cleanupdos-reis1-4/+4
2011-08-04cleanupdos-reis1-1/+1
2011-06-22 * boot/ast.boot (shoeEVALANDFILEACTQ): Remove.dos-reis1-5/+2
(bfMain): Don't use it. (translateToplevelExpression): Likewise. * interp/Makefile.in (stamp): $(AUTO) is no more. (all-interpsys): Likewise.
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-12/+0
* boot/parser.boot (bpOutItem): Bind it here.
2011-05-16 * boot/ast.boot (bfAtScope): New.dos-reis1-22/+9
* boot/parser.boot (bpDo): Accept scoped expressions. * boot/translator.boot: Cleanup.
2011-05-15 * boot/ast.boot (shoeCompTran1): Don't indiscriminately walk CASEdos-reis1-18/+18
forms. Translate %Namespace forms too. * boot/parser.boot (bpApplication): Include Namespace too.
2011-05-14cleanupdos-reis1-1/+1
2011-05-14cleanupdos-reis1-8/+8
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-5/+5
2011-05-05more cleanupsdos-reis1-1/+1