Age | Commit message (Collapse) | Author | Files | Lines |
|
A couple of the Boot AST building functions are identity functions. Remove to reduce obfuscation.
|
|
and update the boot translator Lisp cache.
|
|
|
|
|
|
Adjust caller.
(NRTsetVector4a): Likewise. Avoid special variable for environment.
* boot/utility.boot: Add and export substSource, substTarget.
* interp/define.boot: Use them.
|
|
|
|
|
|
* interp/spad-parser.boot: Do not include. Import lexing instead.
* interp/Makefile.in: Adjust.
|
|
* boot/parser.boot (bpTypeName): Split out of bpTypeAliasDefinition.
(bpStruct): Use it. Support parameterized structures.
* boot/ast.boot (ctorName): New.
(bfEnum): Use it for parameterized enums.
(bfRecord): Use it for parameterized records.
|
|
(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.
|
|
Remove references to $op.
|
|
* boot/parser.boot: Adjust.
|
|
Adjust callers.
* boot/translator.boot: Tidy.
|
|
|
|
Replace references to $stok.
|
|
(bfISReverse) Use it. Don't use bpTrap.
(bfIS1): Likewise.
(bfParameterList): Likewise.
(bfHandlers): Likewise.
* boot/parser.boot (bpTrap): Take a parser state argument.
Adjust callers.
|
|
* boot/translator.boot (shoeOutParse): Likewise.
|
|
* boot/translator.boot (shoeOutParse): Likewise.
|
|
* boot/translator.boot: Likewise.
|
|
Remove references to $inputStream.
* boot/translator.boot (shoeOutParse): Remove $inputStream.
|
|
(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.
|
|
* boot/ast.boot (bfRestrict): New.
(bpTyped): Rename from bpTagged. Accept type restriction.
* boot/utility.boot (drop): Restrict the result to a %List.
|
|
(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.
|
|
* 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.
|
|
(shoePROG): Likewise.
(declareLocalVars): New.
(maybeAddBlock): Likewise.
(hasReturn?): Likewise.
(shoeCompTran): Tidy.
|
|
(shoeCompTran1): Partially defer translation of fluid variable
definition.
(bindFluidVars!): New. Complete translation.
(groupFluidVars): New.
* interp/newfort.boot (fortFormatIntrinsics): Remove redundant return.
|
|
Remove globals. Adjust caller.
(shoeCompTran): Replace fluid variables by references.
|
|
(bpConstTok): Include it.
* boot/ast.boot (bfFunction): New.
* boot/tokens.boot: `function' is now a keyword.
|
|
|
|
(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.
|
|
* boot/ast.boot (bfType): New.
* boot/translator.boot (genDeclaration): Use it.
* boot/utility.boot (every?): New. Export.
(any?): Likewise.
(takeWhile): Lilkewise.
|
|
* boot/utility.boot (firstNonblankPosition): Do not declare.
|
|
* boot/translator.boot (packageBody): Tidy.
(translateToplevel): Likewise.
(getIntermediateLispFile): Likewise.
* interp/sys-os.boot: Import System.Foreign.
|
|
(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.
|
|
(bfIterateTable): New.
(separateIterators): Likewise.
(bfExpandTableIters): Likewise.
(bfLp1): Use them.
|
|
|
|
* driver/Makefile.in (open-axiom$(EXEEXT)): Link statically.
|
|
* boot/parser.boot (bpOutItem): Bind it here.
|
|
* boot/parser.boot (bpDo): Accept scoped expressions.
* boot/translator.boot: Cleanup.
|
|
* boot/ast.boot (bfDo): New.
* boot/parser.boot (bpDo): New.
(bpReturn): Include do-expressions.
* interp/vmlisp.lisp (do): Remove.
|
|
forms. Translate %Namespace forms too.
* boot/parser.boot (bpApplication): Include Namespace too.
|
|
|
|
(bpApplication): Call it.
|
|
(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.
|
|
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.
|
|
* boot/parser.boot (bpTyping): Support universally quantified types.
* boot/ast.boot: Rewrite APPEND as append.
(%Forall): New AST node.
* boot/translator.boot: Translate it.
|
|
(translateToplevel): Use it.
* boot/parser.boot (bpImport): Accept namespace import.
|
|
(bfDoCollect): Tidy.
|
|
* interp/modemap.boot (knownInfo): Fix latent bug uncovered by
type declarations.
* boot/ast.boot: Remove type definitions.
(bfIN): Handle DOT as loop variable.
(bfON): Likewise. Allow a loop variable to iterator over its own
tails.
* boot/parser.boot (bfTyping): Simplify.
(bpSimpleMapping): Fix thinko.
|
|
* boot/utility.boot (reverse!): Define.
* boot/parser.boot: Use reverse! instead of NREVERSE.
* boot/ast.boot: Generate reverse! forms instead of NREVERSE.
|