aboutsummaryrefslogtreecommitdiff
path: root/src/interp/c-util.boot
AgeCommit message (Collapse)AuthorFilesLines
2016-02-09Various cleanupsGabriel Dos Reis1-15/+19
Rename getFunctionTemplate to matchSignatureInTemplate. Rename lookupInheritedDefiningFunction to lookupRemoteDefiningFunction as the function wasn't really about inherited operators. Have it avoid returning functions that might need their domain domain to operate correctly. Simplify getOpCode: it only needs two arguments since the third was the length of the second argument. dbDefaultPackage? is no longer a macro.
2016-02-08Do not let domain closure escape lookupDefinitionFunctionGabriel Dos Reis1-1/+4
A successful call to compiledLookup will come up with any of the form that results from stuffSlot. Handle them here. Remove confused and dead code.
2016-02-08Tidy gerCapsuleDirectoryEntryGabriel Dos Reis1-2/+9
Factor out candidatesForSlot.
2016-02-07Remove $NRTaddFormGabriel Dos Reis1-10/+16
Use a %CompilerData slot to hold the corresponding data during the elaboration of a capsule.
2016-02-02Rename dbConstructorDefault to dbDefaultPackageGabriel Dos Reis1-4/+0
And various cleanups.
2016-02-01Better indirect call resolutionGabriel Dos Reis1-45/+37
The infrastructure put in place in the last few commits now enables better indirect calls ('SPADCALL') to operations implemented in the same capsule. The improvement here is that the limitation of unconditional definition is removed. Now, even conditional definitions are resolved as long as the its predicate and the predicate of the current function match.
2016-01-31Remove a couple of global states from the compiler.Gabriel Dos Reis1-3/+5
2016-01-30Make signature definitions parts of %CompilationData.Gabriel Dos Reis1-2/+3
2016-01-30Normalize spelling of mkpf.Gabriel Dos Reis1-2/+2
2016-01-16Reduce dependencies on databases to catgeory.daase during algebra buildGabriel Dos Reis1-2/+5
2016-01-12Share more code between various parts of the compiler.Gabriel Dos Reis1-0/+10
2016-01-07Remove dead code. Add DB parameter for getFormModemaps.Gabriel Dos Reis1-25/+0
2016-01-06Remove $insideCategoryIfTrue. Replace with call to new function dbForCategory?Gabriel Dos Reis1-1/+5
2015-12-30Add more dependencies in the algberas' Makefile.am.Gabriel Dos Reis1-1/+5
2015-12-27Simplify representation of constants in functors.Gabriel Dos Reis1-2/+2
2015-12-26Remove dispatchFunction.Gabriel Dos Reis1-2/+2
2015-12-24Tidy uses of apply.Gabriel Dos Reis1-1/+1
2015-12-24Replace FUNCALL with apply.Gabriel Dos Reis1-4/+4
2013-07-01Bring closer to GCL-buildability.dos-reis1-1/+1
2013-06-27 * interp/lisplib.boot (compDefineLisplib): Close the filedos-reis1-1/+1
contained generated code before handing over to backend. * interp/c-util.boot (moveLibdirByCopy): The inferred destination directory is not absolute.
2013-06-15Add DB parameter to extendsCategoryForm.dos-reis1-15/+15
2013-06-14compColon is now smarter about category definitions.dos-reis1-0/+37
2013-06-01Support --output in compiler, for bootstrapping stage.dos-reis1-12/+17
2013-05-30Change backend code emitters to take a %Libname parameterdos-reis1-6/+6
2013-05-29Simplify final backend instruction emission.dos-reis1-3/+6
2013-05-29Simplify backend functionsdos-reis1-5/+1
2013-05-29Misc backend cleanup.dos-reis1-7/+14
2013-05-29Add DB parameter to middle end functions.dos-reis1-5/+5
2013-05-29Misc cleanups.dos-reis1-9/+0
2013-05-29Misc cleanup.dos-reis1-8/+8
2013-05-29Remove Lispy junksdos-reis1-1/+1
2013-05-28Remove special variable $libFiledos-reis1-3/+7
2013-05-28 Remove $domainShell.dos-reis1-6/+13
2013-05-28Add DB parameter to compNoStackingdos-reis1-4/+5
2013-05-27Introduce a data structure for ephemeral compilation artifactsdos-reis1-5/+13
2013-05-22Replace OPTIONLIST with $compilerOptionsdos-reis1-0/+5
2013-05-14 * interp/c-util.boot (cleanParameterList!): New.dos-reis1-1/+17
* interp/define.boot (spadCompileOrSetq): Use it.
2013-05-14Move lispy stuff to lisp-backend.bootdos-reis1-185/+0
2013-05-11Consistently use OIL opcodes for abstractionsdos-reis1-4/+4
2013-05-08Almost pure function bodies are now %redex formsdos-reis1-1/+11
2012-08-26 * interp/br-saturn.boot: Replace TERPRI with finishLine.dos-reis1-5/+5
* interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/diagnostics.boot: Likewise. * interp/format.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-error.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/postpar.boot: Likewise. * interp/setvars.boot: Likewise. * interp/topics.boot: Likewise. * interp/trace.boot: Likewise.
2012-06-03 * boot/parser.boot (bpSignatureTail): Split out of bpSignature.dos-reis1-1/+1
(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-05-26 * boot/tokens.boot: freshLine, functionSymbol?, and symbolGlobal?dos-reis1-1/+1
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.
2012-05-23 * interp/database.boot (%Constructor): New.dos-reis1-1/+1
(makeConstructor): Likewise. (makeInitialDB): Tidy. * interp/daase.lisp (makeDB): Take two more parameters. Build a %Constructor structure object too.
2012-05-21 * interp/vmlisp.lisp (SETANDFILE): Remove.dos-reis1-2/+3
(LAM,EVALANDFILEACTQ): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/slam.boot (reportFunctionCompilation): Tidy. * interp/lisp-backend.boot (evalAndPrintBackendDecl): New. * interp/c-util.boot (backendCompileSPADSLAM): Use it in lieu of SETANDFILE. (compAndDefine): Use evalAndPrintBackendDecl in lieu of PRINT-AND-EVAL-DEFUN. * interp/hypertex.boot: Clean up. * interp/nhyper.boot: Likewise. * interp/word.boot: Likewise.
2012-05-21 * interp/vmlisp.lisp (EVALANDFILEACTQ): Second argument is nodos-reis1-3/+4
longer optional. Adjust callers. (LAM\,EVALANDFILEACTQ): Likewise. * interp/slam.boot (compQuietly): Use printBackendDecl. * interp/spad.lisp (SPAD): Likewise. * interp/sys-utility.boot (PRINT-AND-EVAL-DEFUN): Likewise. * interp/macros.lisp (SETANDFILE): Move to vmlisp.lisp. * interp/lisp-backend.boot (printBackendStmt): New. (evalAndPrintBackendStmt): Likewise. (printBackendDecl): Likewise. * interp/c-util.boot (registerFunctionReplacement): Use evalAndPrintBackendStmt. (registerRedexForm): Likewise. (proclaimCapsuleFunction): Use printBackendStmt. * interp/Makefile.in (lisp-backend.$(FASLEXT)): Require nlib.$(FASLEXT)
2012-05-20 * interp/parsing.lisp (CONVERSATION): Remove.dos-reis1-14/+0
(CONVERSATION1): Likewise. (MAKE-PARSE-FUNCTION): Likewise. (MAKE-PARSE-FUNCTION1): Likewise. (MAKE-PARSE-FUNC-FLATTEN): Likewise. (MAKE-PARSE-FUNC-FLATTEN-1): Likewise. (TRANSPGVAR): Likewise. (GETRULEFUNLISTS): Likewise. (REDUCTION-PRINT): Likewise. (TRACEMETA): Likewise. (TRMETA): Likewise. (TRMETA1): Likewise. (/MDEF): Likewise. * interp/macros.lisp (EXPAND-TABS): Likewise. * interp/spad.lisp (READ-SPAD): Likewise. (READ-INPUT): Likewise. (READ-SPAD0): Likewise. (READ-SPAD1): Likewise. (READ-SPAD-1): Likewise. (New,ENTRY,1): Likewise. (New,ENTRY,2): Likewise. * interp/bootlex.lisp (SPAD_SYNTAX_ERROR): Move to debug.lisp. (SPAD_LONG_ERROR): Likewise. (SPAD_SHORT_ERROR): Likewise. (SPAD_ERROR_LOC): Likewise. * interp/c-util.boot (COMP370): Move to lisp-backend.boot. (compQuietly): Move to slam.boot.
2012-05-12 * interp/c-util.boot: Miscellaneous cleanup.dos-reis1-1/+1
* interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/debug.lisp: Likewise. * interp/format.boot: Likewise. * interp/g-timer.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/macros.lisp: Likewise. * interp/monitor.lisp: Likewise. * interp/msgdb.boot: Likewise. * interp/newfort.boot: Likewise. * interp/nlib.lisp: Likewise. * interp/parsing.lisp: Likewise. * interp/pf2atree.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/posit.boot: Likewise. * interp/sfsfun.boot: Likewise. * interp/util.lisp: Likewise.
2012-05-05 * interp/clam.boot (compClam): Remove.dos-reis1-10/+0
(compHash): Simplify. Now take only 3 parameters. * interp/c-util.boot (compileQuietly): Remove as unused. * interp/sys-globals.boot ($clamList): Move to clam.boot. * interp/define.boot (compileConstructor1): Call compHash in lieu of compClam. * share/doc/msgs/s2-us.msgs: Remove unused diagnostics, due to compClam removal and compHash simplification.
2012-05-05 * interp/define.boot (compileConstructor1): Don't calldos-reis1-1/+0
clearConstructorCache here. Simplify. (compileConstructor): Call clearConstructorCache here. * interp/c-util.boot (backendCompile2): Do not test for membership of $clamList. * interp/clam.boot (compHash): Use compQuietly instead of compileQuietly.