aboutsummaryrefslogtreecommitdiff
path: root/src/boot/strap/tokens.clisp
AgeCommit message (Collapse)AuthorFilesLines
2022-08-21Boot parser: Remove useless AST functions (#17)Gabriel Dos Reis1-6/+6
A couple of the Boot AST building functions are identity functions. Remove to reduce obfuscation.
2018-01-01Name bracket pattern parserGabriel Dos Reis1-6/+6
and update the boot translator Lisp cache.
2016-01-30Do not rename mkpf.Gabriel Dos Reis1-3/+3
2015-12-25Do not rename 'apply'.Gabriel Dos Reis1-3/+3
2015-12-24Translate apply(f,[args]) as FUNCALL(f,args)Gabriel Dos Reis1-6/+6
2013-06-20Allow inerts in Boot.dos-reis1-3/+3
2013-06-15 * interp/nruncomp.boot (NRTsetVector4Part1): Add environment parameter.dos-reis1-6/+6
Adjust caller. (NRTsetVector4a): Likewise. Avoid special variable for environment. * boot/utility.boot: Add and export substSource, substTarget. * interp/define.boot: Use them.
2013-06-01Support --output in compiler, for bootstrapping stage.dos-reis1-6/+6
2013-05-27Rename MAKE-FULL-FILENAME to makeFullFilename.dos-reis1-6/+8
2013-05-26Rename MAKE-FILENAME to makeFilename and re-implement in Boot.dos-reis1-8/+14
2012-05-26 * boot/tokens.boot: freshLine, functionSymbol?, and symbolGlobal?dos-reis1-2/+3
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-24 * boot/tokens.boot: "@" is now a new keyword.dos-reis1-9/+10
* boot/ast.boot (bfRestrict): New. (bpTyped): Rename from bpTagged. Accept type restriction. * boot/utility.boot (drop): Restrict the result to a %List.
2012-05-23 * boot/tokens.boot (%Token): New datatype.dos-reis1-1/+15
(makeToken): New. * boot/includer.boot: Use %token accessors. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/utility.boot: Export subString.
2012-05-22 * boot/translator.boot (translateToplevel): Handle record structures.dos-reis1-6/+6
* 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-89/+83
(shoePROG): Likewise. (declareLocalVars): New. (maybeAddBlock): Likewise. (hasReturn?): Likewise. (shoeCompTran): Tidy.
2012-05-19 * boot/tokens.boot: symbolBinding is now builtin.dos-reis1-1/+1
* 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-05-08 * boot/tokens.boot: Export char. Do not rename maxIndex.dos-reis1-6/+7
* lisp/core.lisp.in (maxIndex): Define and export. * interp/bootlex.lisp: Adjust. * interp/parsing.lisp: Likewise. * interp/macros.lisp: Likewise. (DROPTRAILINGBLANKS): Remove. (BLANKP): Likewise. (NONBLANKLOC): Likewise. * interp/io.boot (trimTrailingBlank): New. (firstNonblankCharPosition): Likewise. * interp/preparse.lisp: Use them. Adjust. * interp/sys-macros.lisp (char): Remove. * interp/vmlisp.lisp (MAXINDEX): Likewise. * interp/br-search.boot (pmTransFilter): Fix bogus uses of char. * interp/debug.lisp: Likewise. * interp/g-util.boot: Likewise. * interp/ht-root.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-syscmd.boot: Likewise.
2012-01-12 * boot/parser.boot (bpFunction): New.dos-reis1-10/+29
(bpConstTok): Include it. * boot/ast.boot (bfFunction): New. * boot/tokens.boot: `function' is now a keyword.
2011-12-28 * interp/vmlisp.lisp (SORTBY): Remove.dos-reis1-4/+4
(QSORT): Likewise. * interp/c-util.boot (formal?): Rename from isFormal. Avoid POSITION. * interp/sys-utility.boot (sortBy): New. * interp/br-op1.boot: Use it. * interp/clam.boot: Likewise. * interp/define.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/showimp.boot: Likewise. * boot/tokens.boot: "<-" is now a token. * boot/ast.boot (bfKeyArg): New. (bfExpandKeys): Likewise. (bfApplication): Use it. * boot/parser.boot (bpKeyArg): New. (bpAssign): Use it. Parse named arguments.
2011-12-28 * boot/tokens.boot: Remove redundant renaming of REM.dos-reis1-23/+24
loopBody and loopExit are not selectors. * interp/i-output.boot: Include sys-utility. * interp/sys-utility.boot (last): New macro. (loopBody): Likewise. * interp/vmlisp.lisp (LASTNODE): Remove. (LASTPAIR): Likewise. (last): Do not define here.
2011-12-28 * boot/tokens.boot: Do not rewrite drop and take.dos-reis1-19/+18
* boot/utility.boot (drop): Define and export. (take): Likewise. * interp/br-con.boot: Use take, not TAKE; use drop, not DROP. * interp/br-data.boot: Likewise. * interp/br-op1.boot: Likewise. * interp/br-saturn.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/cattable.boot: Likewise. * interp/clammed.boot: Likewise. * interp/compiler.boot: Likewise. * interp/database.boot: Likewise. * interp/define.boot: Likewise. * interp/guess.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/i-analy.boot: Likewise. * interp/i-eval.boot: Likewise. * interp/i-funsel.boot: Likewise. * interp/i-map.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-special.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-toplev.boot: Likewise. * interp/i-util.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/parse.boot: Likewise. * interp/record.boot: Likewise. * interp/setvars.boot: Likewise. * interp/slam.boot: Likewise. * interp/trace.boot: Likewise. * interp/word.boot: Likewise. * interp/macros.lisp (DROP): Remove. (TAKE): Likewise.
2011-11-29 * boot/tokens.boot (absKind, absParms, absBody): New selectors.dos-reis1-5/+6
* 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-30 * interp/sys-macros.lisp (MKPF1): Tidy.dos-reis1-17/+18
* interp/sys-constants.boot ($QueryVariables): New. * interp/define.boot ($whreDecls): Remove. (checkRepresentation): Take a DB as first parameter. Adjust Callers. (buildConstructorCondition): New (deduceImplicitParameters): Likewise (compDefineCategory2): Use it. (compDefineFunctor1): Likewise. (typeDependencyPath): Remove. (inferConstructorImplicitParameters): Likewise. * interp/compiler.boot (compTopLevel): Do not bind $whereDecls. (recordDeclarationInSideCondition): Take additional reference parameter to the list of processed decls. Adjust callers. (compWhere): Record any side decls in compilation environment. * interp/c-util.boot (makeCompilationData): Initialize implicit data. (dbParameters): New. (dbImplicitData): New accessor macro. (dbImplicitParameters): New. (dbImplicitConstraints): Likewise. (dbSubstituteFormals): Likewise. (dbSubstituteQueries): Likewise. * interp/database.boot (fixUpPredicate): Tidy. * boot/utility.boot (applySubst): Early exit on identity substitution. (applySubst!): Likewise. (applySubstNQ): Likewise. * boot/ast.boot (bfIS1): Accept pattern matching against Boolean constant true.
2011-10-29 * interp/lisplib.boot (makePredicateBitVector): Take a DB argument.dos-reis1-1/+1
Set dbPredicates. (compConLib1): Set dbPredicates to nil. (compDefineLisplib): Likewise. (finalizeLisplib): Write dbPredicates. * boot/tokens.boot (copyTree): Do not translate. * boot/utility.boot (topyTree): Implement. Export.
2011-10-22 * boot/tokens.boot: Add new selectors: mapOperation, mapSignature,dos-reis1-5/+7
mapTarget, mapSource, mapKind. * algebra/data.spad.pamphlet (SystemInteger) [min, max]: Disambiguate with explicit type annotation. (SystemNonNetativeInteger) [min, max]: Likewise. * algebra/color.spad.pamphlet (Color) [sample]: Remove parenthesis. * algebra/ffnb.spad.pamphlet (FiniteFieldNormalBasisExtensionByPolynomial) [sizeOfGroundField]: Likewise. * algebra/matrix.spad.pamphlet (SquareMatrix) [dimension]: Likewise. * algebra/view3D.spad.pamphlet: Likewise. * algebra/viewDef.spad.pamphlet: Likewise. * algebra/regset.spad.pamphlet (RegularTriangularSetCategory) [unitIdealIfCan]: Remove, was useless. * algebra/sregset.spad.pamphlet (SquareFreeRegularTriangularSet) [unitIdealIfCan]: Likewise. * algebra/triset.spad.pamphlet (GeneralTriangularSet) [unitIdealIfCan]: Likewise.
2011-10-21 Workaround proclamation bug in GCLdos-reis1-5/+5
* boot/utility.boot (firstNonblankPosition): Do not declare.
2011-10-05 * lisp/core.lisp.in (eof?): New.dos-reis1-6/+7
(listToString): Likewise. (formatToString): Likewise. * boot/tokens.boot: Add fifth as builtin library function.
2011-10-01 * boot/utility.boot: Define BOOTTRAN namespace.dos-reis1-4/+3
(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/ast.boot (bfTableIteratorBindingForm): New.dos-reis1-17/+11
(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-239/+196
(bfIterateTable): New. (separateIterators): Likewise. (bfExpandTableIters): Likewise. (bfLp1): Use them.
2011-08-07cleanupdos-reis1-8/+13
2011-08-05 * boot/tokens.boot: Remove unused and antiquated tokens.dos-reis1-8/+6
* interp/i-output.boot: Escape caret.
2011-07-13 * boot/tokens.boot: copyString, copyTree, and copyVector are nowdos-reis1-5/+7
builtin library functions. * interp/br-util.boot: Use copyVector instead of COPY-SEQ. * interp/category.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/i-coerfn.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/newfort.boot: Likewise.
2011-07-03 * boot/tokens.boot: flushOutput, writeNewline, writeStringdos-reis1-3/+7
are new builtin library functions. * boot/utility.boot (finishLine): New exported function. * interp/i-output.boot (formulaFormat): Use it. (texFormat): Likewise. (texFormat1): Likewise. (mathmlFormat): Likewise. (output): Remove case for TextWriter.
2011-06-22 * boot/ast.boot (shoeEVALANDFILEACTQ): Remove.dos-reis1-151/+136
(bfMain): Don't use it. (translateToplevelExpression): Likewise. * interp/Makefile.in (stamp): $(AUTO) is no more. (all-interpsys): Likewise.
2011-05-28 * lisp/core.lisp.in: Define and export readLine and readbyte.dos-reis1-2/+0
* 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-19more cleanupdos-reis1-7/+9
2011-05-18 * boot/translator.boot: Remove bindings of $GenVarCounter.dos-reis1-57/+56
* boot/parser.boot (bpOutItem): Bind it here.
2011-05-16 * boot/tokens.boot: "do" is now a keyword.dos-reis1-1/+1
* boot/ast.boot (bfDo): New. * boot/parser.boot (bpDo): New. (bpReturn): Include do-expressions. * interp/vmlisp.lisp (do): Remove.
2011-05-14cleanupdos-reis1-1/+3
2011-05-12 * boot/initial-env.lisp (MAKE-HASHTABLE): Remove.dos-reis1-2/+2
(BEVC-MAKE-FULL): Likewise. (MAKE-BVEC): Likewise. * boot/tokens.boot (shoeKeyTableCons): Adjust. (shoePunCons): Likewise. (shoeDfu): Likewise. (shoeXref): Likewise.
2011-05-05more cleanupdos-reis1-1/+2
2011-05-03more cleanupdos-reis1-0/+5
2011-05-02 * boot/ast.boot (idList?, charList?, stringLits?): New.dos-reis1-7/+8
(bfMember): Use them for special cases. * boot/parser.boot (bpDefinition): Stop support MDEF forms. (bpMdef, bpMDefTail): Remove. * boot/tokens.boot: "==>" is no longer a token.
2011-05-02 * boot/parser.boot (bpDefinition): Accept macro definitiondos-reis1-8/+8
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-12/+11
* 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-24 * boot/ast.boot (bfMakeCollectInsn): New.dos-reis1-3/+2
(bfDoCollect): Tidy.
2011-04-22 * boot/tokens.boot: Don't translate setDifference.dos-reis1-1/+0
* 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-22 * boot/utility.boot (copyList): Define.dos-reis1-4/+3
(append!): Likewise. * boot/tokens.boot: Do not translate nconc.
2011-04-21 * boot/tokens.boot: Don't translate lastNode anymore.dos-reis1-3/+2
* boot/utility.boot (lastNode): Define.