aboutsummaryrefslogtreecommitdiff
path: root/src/boot/parser.boot
AgeCommit message (Collapse)AuthorFilesLines
2012-01-12 * boot/parser.boot (bpFunction): New.dos-reis1-1/+5
(bpConstTok): Include it. * boot/ast.boot (bfFunction): New. * boot/tokens.boot: `function' is now a keyword.
2012-01-12 * boot/tokens.boot (keywordId): New.dos-reis1-3/+3
* boot/parser.boot (bpSexpKey): Use it. * interp/i-map.boot (mapPredTran): Fix thinko.
2012-01-09 * boot/parser.boot (bpRequire): New. Use it throughout this module.dos-reis1-71/+76
2011-12-28 * interp/vmlisp.lisp (SORTBY): Remove.dos-reis1-0/+7
(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-10 * boot/parser.boot (bpArgtypeList): Accept mapping types.dos-reis1-3/+3
* boot/ast.boot (bfType): New. * boot/translator.boot (genDeclaration): Use it. * boot/utility.boot (every?): New. Export. (any?): Likewise. (takeWhile): Lilkewise.
2011-10-17 * lisp/core.lisp.in: Add ref and deref to support references.dos-reis1-1/+11
* interp/sys-constants.boot ($OperatorFunctionNames): Add "by" and "..". * interp/spad.lisp: Tidy. * interp/spad-parser.boot: New parsers. * interp/preparse.lisp: Remove dead codes. * interp/parsing.lisp (MATCH-ADVANCE-KEYWORD): Remove. * interp/parse.boot (doParseCategory): Rename from parseCategory. * interp/newaux.lisp: Tidy. * interp/lexing.boot (getSpadToken): New. (Keywords): Remove 'when'. (matchKeywordNext): New. (matchSpecial): Likewise. (matchAdvanceSpecial): Likewise. (matchAdvanceGlyph): Likewise. * interp/fnewmeta.lisp: Move variable definitions to preparse.lisp. Remove Lisp based parsers. Remove file. * interp/c-doc.boot (recordAttributeDocumentation): Fix thinko. * interp/bootlex.lisp (GET-BOOT-TOKEN): Remove. * interp/Makefile.in: Adjust dependencies. * boot/parser.boot (bpChar): New. (bpPattern): Allow character constants.
2011-10-01 * boot/parser.boot (bpImport): Accept long names for used namespaces.dos-reis1-3/+5
* 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/+2
(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-08-05cleanupdos-reis1-1/+1
2011-05-18 * boot/translator.boot: Remove bindings of $GenVarCounter.dos-reis1-1/+2
* boot/parser.boot (bpOutItem): Bind it here.
2011-05-16 * boot/ast.boot (bfAtScope): New.dos-reis1-0/+5
* boot/parser.boot (bpDo): Accept scoped expressions. * boot/translator.boot: Cleanup.
2011-05-16 * boot/tokens.boot: "do" is now a keyword.dos-reis1-0/+6
* boot/ast.boot (bfDo): New. * boot/parser.boot (bpDo): New. (bpReturn): Include do-expressions. * interp/vmlisp.lisp (do): Remove.
2011-05-15 * boot/ast.boot (shoeCompTran1): Don't indiscriminately walk CASEdos-reis1-1/+2
forms. Translate %Namespace forms too. * boot/parser.boot (bpApplication): Include Namespace too.
2011-05-14Remove recently introduced bpNamedScopedos-reis1-8/+1
2011-05-14 * boot/parser.boot (bpNamedScope): New.dos-reis1-0/+7
(bpApplication): Call it.
2011-05-02 * boot/ast.boot (idList?, charList?, stringLits?): New.dos-reis1-15/+0
(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-7/+10
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-2/+8
* 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-30more cleanupdos-reis1-44/+45
2011-04-25 * boot/translator.boot (inAllContexts): New.dos-reis1-0/+2
(translateToplevel): Use it. * boot/parser.boot (bpImport): Accept namespace import.
2011-04-23 * lisp/core.lisp.in: Export basic types and compiler data types.dos-reis1-8/+7
* 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.
2011-04-21 * boot/tokens.boot: Don't rename nreverse.dos-reis1-7/+7
* boot/utility.boot (reverse!): Define. * boot/parser.boot: Use reverse! instead of NREVERSE. * boot/ast.boot: Generate reverse! forms instead of NREVERSE.
2011-04-20more cleanupdos-reis1-0/+2
2011-04-19 * boot/ast.boot (%Module): Now take three arguments.dos-reis1-8/+19
* boot/parser.boot (bpModuleInterface): Rename from bpExports. (bpModuleExports): New. (bpModule): Now allow specification of exported names.
2011-04-16cleanupdos-reis1-3/+3
2011-02-25 * boot/tokens.boot: makeSymbol is not a builtin function.dos-reis1-3/+3
* boot/ast.boot: Use makeSymbol in place of INTERN. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise. * interp/alql.boot: Likewise. * interp/as.boot: Likewise. * interp/ax.boot: Likewise. * interp/bc-matrix.boot: Likewise. * interp/bc-solve.boot: Likewise. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/br-op2.boot: Likewise. * interp/br-prof.boot: Likewise. * interp/br-search.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/c-util.boot: Likewise. * interp/clam.boot: Likewise. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/format.boot: Likewise. * interp/fortcall.boot: Likewise. * interp/i-syscmd.boot: Likewise. * interp/i-spec1.boot: Likewise. * interp/i-output.boot: Likewise. * interp/i-coerce.boot: Likewise. * interp/i-map.boot: Likewise. * interp/htsetvar.boot: Likewise. * interp/ht-util.boot: Likewise. * interp/g-util.boot: Likewise. * interp/functor.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/pspad2.boot: Likewise. * interp/postpar.boot: Likewise. * interp/pf2sex.boot: Likewise. * interp/parse.boot: Likewise. * interp/packtran.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/nruncomp.boot: Likewise. * interp/newfort.boot: Likewise. * interp/msgdb.boot: Likewise. * interp/modemap.boot: Likewise. * interp/mark.boot: Likewise. * interp/intfile.boot: Likewise. * interp/interop.boot: Likewise. * interp/incl.boot: Likewise. * interp/word.boot: Likewise. * interp/wi2.boot: Likewise. * interp/wi1.boot: Likewise. * interp/trace.boot: Likewise. * interp/topics.boot: Likewise. * interp/sys-constants.boot: Likewise. * interp/showimp.boot: Likewise. * interp/scan.boot: Likewise.
2010-12-28more cleanupdos-reis1-43/+43
2010-12-27 * boot/initial-env.lisp (IDENTP): Remove.dos-reis1-1/+1
* boot/ast.boot: Replace IDENTP with symbol? where appropriate. * boot/parser.boot: Likewise. * boot/translator.boot: Likewise.
2010-12-11 * interp/i-syscmd.boot: Use try-finally expression instead of Lispdos-reis1-1/+1
primitive UNWIND-PROJECT. * interp/int-top.boot: Likewise. * interp/lisplib.boot: Likewise. * interp/server.boot: Likewise. * boot/parser.boot (bpHandler): Allow semicolon separation.
2010-12-11 * boot/tokens.boot: `finally' is now a keyword.dos-reis1-5/+5
* boot/parser.boot (bpMissing): Use a BootParserException exception. (bpTrap): Likewise. (bpListAndRecover): Catch them. * boot/parser.boot (shoeOutParse): Likewise. * boot/ast.boot (bfHandlers): Fix thinko. (codeForCatchHandlers): Likewise.
2010-12-11 * boot/parser.boot (bpListAndRecover): Use Lisp-level CATCH.dos-reis1-37/+40
(bpTry): Rewrite. (bpTry): Likewise. (bpSimpleCatch): Remove. (bpPiledCatchItems): Likewise. (bpCatchItemList): Likewise. (bpExceptionHead): Likewise. (bpExceptionTail): Likewise. (bpExceptionVariable): New. (bpFinally): Likewise. * boot/ast.boot (%Ast): Add %Pretend and %Finally. %Catch now takes two arguments. (bfTry): Rewrite. (bfThrow): Likewise. (bfHandlers): New. (codeForCatchHandlers): Likewise. * boot/translator.boot (shoeOutParse): Use Lisp-level CATCH.
2010-07-27 * boot/tokens.boot: quo and rem are now keywords and infix operators.dos-reis1-2/+5
* boot/parser.boot (bpEuclid): New. Parse integer quotient and remainder expressions. (bpMinus): Now build on bpEuclid instead of bpTimes.
2010-05-28 Add support for 'property' builtin function.dos-reis1-1/+4
* interp/g-timer.boot: Rename property to prop to avoid conflict. * boot/parser.boot (bpAssignLHS): Allow functional places to assign to. * boot/ast.boot (bfPlace): New. (bfAssign): Handle %Place forms. * boot/tokens.boot: property is now translated to GET.
2010-05-22 * interp/cparse.boot (npQuiver): Redefine. Now send Applicationdos-reis1-1/+1
to Application. (npTypedForm): Replace Application with Quiver. (npTypified): Likewise. (npTagged): Use npTypedForm not npTypedForm1. (npDiscrim): Now extend Relation, not Quiver. (npMdef): Allow same LHS as npDef. (npSingleRule): Likewise. * boot/ast.boot: Replace CONCAT with strconc. Replace SYMBOL-NAME with PNAME. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-19 * boot/ast.boot: Add %Leave ast node.dos-reis1-1/+1
(bfLeave): New. * boot/parser.boot (bpLeave): Use it.
2010-05-15 * boot/ast.boot (shoeCompTran1): Handle %Leave expressions.dos-reis1-2/+6
* boot/parser.boot (bpReturn): Parse leave-expressions too. * interp/mark.boot (markInsertBodyParts): properly escape Boot keywords.
2010-05-10 Add lambda expression syntax to Boot.dos-reis1-0/+11
* boot/parser.boot (bpLambda): New. * boot/ast.boot (bfLambda): New. * boot/tokens.boot: Add "+->" as token. * interp/cparse.boot: Use lambda expression syntax. * interp/c-util.boot: Likewise.
2010-05-09 * boot/ast.boot: Miscellaneous cleanup.dos-reis1-3/+3
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-08 * boot/parser.boot (bpArgumentList): New.dos-reis1-17/+26
(bpParenthesizedApplication): Use it. New. (bpPrimary1): Use it to implement function call with explicit parenthesis as primary. (bpOperator): Remove. (bpAssignLHS): Rework. Allow field path after function call. * boot/translator.boot: Remove debugging statement. * interp/as.boot: Adjust to new syntax. * interp/br-con.boot: Likewise. * interp/br-data.boot: Likewise. * interp/c-doc.boot: Likewise. * interp/category.boot: Likewise. * interp/cattable.boot: Likewise. * interp/define.boot: Likewise. * interp/functor.boot: Likewise. * interp/g-util.boot: Likewise. * interp/interop.boot: Likewise. * interp/nrunopt.boot: Likewise. * interp/pspad1.boot: Likewise. * interp/setvars.boot: Likewise. * interp/trace.boot: Likewise.
2010-05-07 * boot/ast.boot: Miscellaneous cleanup.dos-reis1-8/+8
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/pile.boot: Likewise. * boot/scanner.boot: Likewise. * boot/tokens.boot: Likewise. * boot/translator.boot: Likewise.
2010-05-07 * boot/ast.boot: Translate assignment to head and tail of a list.dos-reis1-2/+2
Remove explicit uses of RPLACA and RPLACD. * boot/includer.boot: Likewise. * boot/scanner.boot: Likewise. * boot/translator.boot: Likewise.
2009-09-27 Fix SF/2854105dos-reis1-0/+6
* graph/PS/*.ps: New.
2009-09-25 * boot/ast.boot (bfMember): Improve a bit.dos-reis1-2/+2
* boot/tokens.boot: Don't rename 'is' and 'inst'. * boot/parser.boot: Use 'in' instead of 'MEMQ' where approrpriate. * interp/: Likewise.
2009-09-20 * boot/tokens.boot: "has" is not a keyword.dos-reis1-7/+10
* boot/ast.boot (bfHas): New. (bfReduce): Use "has" instead "has". (bfReduceCollect): Likewise. (bfReName): Likewise. (bfElt): Likewise. (bfSetelt): Likewise. * boot/parser.boot (bpSexpKey): Likewise. (bpPrefixOperator): Likewise. (bpInfixOperator): Likewise. (bpThetaName): Likewise. (bpIs): Parse "has" expressions. * boot/pile.boot (shoePileCoagulate): Likewise. * interp/: Fix unquoted use of "has". * interp/interop.boot (has): Remove.
2009-09-04(no commit message)dos-reis1-404/+369
2009-09-02 * boot/ast.boot: More cleanup.dos-reis1-22/+25
* boot/includer.boot: Likewise. * boot/parser.boot: Likewise. * boot/scanner.boot: Likewise.
2009-08-30 * boot/parser.boot ($sawParenthesizedHead): Remove.dos-reis1-35/+5
(bpReturnType): Likewise. (bpBeginParameterList): Likewise. (bpEndParameterList): Likewise. (bpBeginDefinition): Likewise. (bpDefinition): Adjust. (bpVariable): Likewise.
2009-08-29 * boot/ast.boot (%Definition): Lose one argument.dos-reis1-4/+4
(bfDefinition): Remove. (bfSimpleDefinition): Likewise. (bfCompDef): Likewise. (bfDefSequence): Likewise. (defSheepAndGoats): Tidy. * boot/parser.boot (bpSimpleDefinitionTail): Likewise. (bpCompoundDefinitionTail): Likewise. (bpDefinitionPileItems): Likewise. (bpSemiColonDefinition): Likewise. * boot/translator.boot (translateToplevel): Likewise.
2009-08-29(no commit message)dos-reis1-7/+6
2009-08-29 * boot/ast.boot: More cleanup.dos-reis1-5/+4
* boot/parser.boot: Likewise. * boot/translator.boot: Likewise.