From 30807756cc1d019f6b0301a907cd1d1985ebb32c Mon Sep 17 00:00:00 2001 From: dos-reis Date: Sat, 15 Nov 2008 13:11:43 +0000 Subject: * interp/category.boot: Define global vars. * interp/compiler.boot: Likewise. * interp/define.boot: Likewise. * interp/sys-globals.boot: Likewise. * interp/wi1.boot ($frontier): Removed, as unused. * interp/wi2.boot ($attributesName): Likewise. ($goGetList): Likewise. ($NRTaddList): Likewise. ($NRTloadTimeAlist): Likewise. ($lisplibMissingFunctions): Likewise. ($alternateViewList): Likewise. --- configure | 18 ++++++------ configure.ac | 2 +- configure.ac.pamphlet | 2 +- src/ChangeLog | 14 +++++++++ src/interp/category.boot | 2 ++ src/interp/compiler.boot | 4 +++ src/interp/define.boot | 69 ++++++++++++++++++++++++++++++++++++--------- src/interp/sys-globals.boot | 8 ++++++ src/interp/wi1.boot | 1 - src/interp/wi2.boot | 6 ---- 10 files changed, 94 insertions(+), 32 deletions(-) diff --git a/configure b/configure index 73b23dfa..04549eda 100755 --- a/configure +++ b/configure @@ -1,6 +1,6 @@ #! /bin/sh # Guess values for system-dependent variables and create Makefiles. -# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2008-11-02. +# Generated by GNU Autoconf 2.60 for OpenAxiom 1.3.0-2008-11-15. # # Report bugs to . # @@ -713,8 +713,8 @@ SHELL=${CONFIG_SHELL-/bin/sh} # Identity of this package. PACKAGE_NAME='OpenAxiom' PACKAGE_TARNAME='openaxiom' -PACKAGE_VERSION='1.3.0-2008-11-02' -PACKAGE_STRING='OpenAxiom 1.3.0-2008-11-02' +PACKAGE_VERSION='1.3.0-2008-11-15' +PACKAGE_STRING='OpenAxiom 1.3.0-2008-11-15' PACKAGE_BUGREPORT='open-axiom-bugs@lists.sf.net' ac_unique_file="src/Makefile.pamphlet" @@ -1405,7 +1405,7 @@ if test "$ac_init_help" = "long"; then # Omit some internal or obsolete options to make the list less imposing. # This message is too long to be a string in the A/UX 3.1 sh. cat <<_ACEOF -\`configure' configures OpenAxiom 1.3.0-2008-11-02 to adapt to many kinds of systems. +\`configure' configures OpenAxiom 1.3.0-2008-11-15 to adapt to many kinds of systems. Usage: $0 [OPTION]... [VAR=VALUE]... @@ -1475,7 +1475,7 @@ fi if test -n "$ac_init_help"; then case $ac_init_help in - short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2008-11-02:";; + short | recursive ) echo "Configuration of OpenAxiom 1.3.0-2008-11-15:";; esac cat <<\_ACEOF @@ -1579,7 +1579,7 @@ fi test -n "$ac_init_help" && exit $ac_status if $ac_init_version; then cat <<\_ACEOF -OpenAxiom configure 1.3.0-2008-11-02 +OpenAxiom configure 1.3.0-2008-11-15 generated by GNU Autoconf 2.60 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001, @@ -1593,7 +1593,7 @@ cat >config.log <<_ACEOF This file contains any messages produced by compilers while running configure, to aid debugging if configure makes a mistake. -It was created by OpenAxiom $as_me 1.3.0-2008-11-02, which was +It was created by OpenAxiom $as_me 1.3.0-2008-11-15, which was generated by GNU Autoconf 2.60. Invocation command line was $ $0 $@ @@ -26424,7 +26424,7 @@ exec 6>&1 # report actual input values of CONFIG_FILES etc. instead of their # values after options handling. ac_log=" -This file was extended by OpenAxiom $as_me 1.3.0-2008-11-02, which was +This file was extended by OpenAxiom $as_me 1.3.0-2008-11-15, which was generated by GNU Autoconf 2.60. Invocation command line was CONFIG_FILES = $CONFIG_FILES @@ -26473,7 +26473,7 @@ Report bugs to ." _ACEOF cat >>$CONFIG_STATUS <<_ACEOF ac_cs_version="\\ -OpenAxiom config.status 1.3.0-2008-11-02 +OpenAxiom config.status 1.3.0-2008-11-15 configured by $0, generated by GNU Autoconf 2.60, with options \\"`echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\" diff --git a/configure.ac b/configure.ac index 533e04a3..e7ea6fe6 100644 --- a/configure.ac +++ b/configure.ac @@ -1,6 +1,6 @@ sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.3.0-2008-11-02], +AC_INIT([OpenAxiom], [1.3.0-2008-11-15], [open-axiom-bugs@lists.sf.net]) AC_CONFIG_AUX_DIR(config) diff --git a/configure.ac.pamphlet b/configure.ac.pamphlet index 2581f937..c82719b1 100644 --- a/configure.ac.pamphlet +++ b/configure.ac.pamphlet @@ -1126,7 +1126,7 @@ information: <>= sinclude(config/open-axiom.m4) sinclude(config/aclocal.m4) -AC_INIT([OpenAxiom], [1.3.0-2008-11-02], +AC_INIT([OpenAxiom], [1.3.0-2008-11-15], [open-axiom-bugs@lists.sf.net]) @ diff --git a/src/ChangeLog b/src/ChangeLog index 43370af4..976a5b20 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,17 @@ +2008-11-15 Gabriel Dos Reis + + * interp/category.boot: Define global vars. + * interp/compiler.boot: Likewise. + * interp/define.boot: Likewise. + * interp/sys-globals.boot: Likewise. + * interp/wi1.boot ($frontier): Removed, as unused. + * interp/wi2.boot ($attributesName): Likewise. + ($goGetList): Likewise. + ($NRTaddList): Likewise. + ($NRTloadTimeAlist): Likewise. + ($lisplibMissingFunctions): Likewise. + ($alternateViewList): Likewise. + 2008-11-03 Gabriel Dos Reis * interp/br-data.boot: Remove uses of BOUNDP. diff --git a/src/interp/category.boot b/src/interp/category.boot index 20a4c686..c7d49b9c 100644 --- a/src/interp/category.boot +++ b/src/interp/category.boot @@ -41,6 +41,8 @@ namespace BOOT ++ List of global attributes. $Attributes := [] +$NewCatVec := nil + --% ++ Returns true if `a' is a category (runtime) object. diff --git a/src/interp/compiler.boot b/src/interp/compiler.boot index f40155ce..7ada5375 100644 --- a/src/interp/compiler.boot +++ b/src/interp/compiler.boot @@ -1004,6 +1004,10 @@ compVector(l,m is ["Vector",mUnder],e) == [["VECTOR",:[T.expr for T in Tl]],m,e] --% MACROS + +++ True if we are compiling a macro definition. +$macroIfTrue := false + compMacro(form,m,e) == $macroIfTrue: local:= true ["MDEF",lhs,signature,specialCases,rhs]:= form diff --git a/src/interp/define.boot b/src/interp/define.boot index 5a88447a..58d33090 100644 --- a/src/interp/define.boot +++ b/src/interp/define.boot @@ -62,6 +62,47 @@ $doNotCompileJustPrint := false ++ stack of pending capsule function definitions. $capsuleFunctionStack := [] +$functionStats := nil +$functorStats := nil + +$lisplibCategory := nil +$lisplibAncestors := nil +$lisplibAbbreviation := nil +$LocalDomainAlist := [] +$CheckVectorList := [] +$functorsUsed := [] +$setelt := nil +$pairlis := [] +$functorTarget := nil +$condAlist := [] +$uncondAlist := [] +$NRTslot1PredicateList := [] +$NRTattributeAlist := [] +$NRTslot1Info := nil +$NRTdeltaListComp := [] +$NRTdomainFormList := [] +$template := nil +$signature := nil +$isOpPackageName := false +$lisplibCategoriesExtended := [] +$lookupFunction := nil +$byteAddress := nil +$byteVec := nil +$lisplibSlot1 := nil +$sigAlist := [] +$predAlist := [] +$argumentConditionList := [] +$finalEnv := nil +$initCapsuleErrorCount := nil +$CapsuleModemapFrame := nil +$CapsuleDomainsInScope := nil +$signatureOfForm := nil +$addFormLhs := nil +$lisplibSuperDomain := nil +$sigList := [] +$atList := [] + + --% ++ List of operations defined in a given capsule @@ -111,10 +152,13 @@ makePredicate l == --% FUNCTIONS WHICH MUNCH ON == STATEMENTS +++ List of packages used by the current domain. +$packagesUsed := [] + compDefine: (%Form,%Mode,%Env) -> %Maybe %Triple compDefine(form,m,e) == $macroIfTrue: local := false - $packagesUsed: local := false + $packagesUsed: local := [] compDefine1(form,m,e) ++ We are about to process the body of a capsule. If the capsule defines @@ -298,10 +342,13 @@ compDefineCategory1(df is ['DEF,form,sig,sc,body],m,e,prefix,fal) == makeCategoryPredicates(form,$lisplibCategory) compDefine1(mkCategoryPackage(form,cat,categoryCapsule),$EmptyMode,e) [d,m,e] + +$tvl := [] +$mvl := [] makeCategoryPredicates(form,u) == - $tvl := TAKE(#rest form,$TriangleVariableList) - $mvl := TAKE(#rest form,rest $FormalMapVariableList) + $tvl: local := TAKE(#rest form,$TriangleVariableList) + $mvl: local := TAKE(#rest form,rest $FormalMapVariableList) fn(u,nil) where fn(u,pl) == u is ['Join,:.,a] => fn(a,pl) @@ -376,7 +423,6 @@ compDefineCategory2(form,signature,specialCases,body,m,e, --Begin lines for category default definitions $functionStats: local:= [0,0] $functorStats: local:= [0,0] - $frontier: local := 0 $getDomainCode: local := nil $addForm: local:= nil for x in sargl for t in rest signature' repeat @@ -489,7 +535,6 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body], $Representation: local := nil --Set in doIt, accessed in the compiler - compNoStacking $LocalDomainAlist: local := [] --set in doIt, accessed in genDeltaEntry - $LocalDomainAlist:= nil $functorForm: local := nil $functorLocalParameters: local := nil SETQ($myFunctorBody, body) @@ -520,10 +565,8 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body], stackAndThrow('" cannot produce category object: %1pb",[target]) $domainShell:= COPY_-SEQ ds --+ copy needed since slot1 is reset; compMake.. can return a cached vector - $attributesName:local := INTERN STRCONC(PNAME $op,'";attributes") attributeList := disallowNilAttribute ds.2 --see below under "loadTimeAlist" --+ 7 lines for $NRT follow - $goGetList: local := nil -->--these globals used by NRTmakeCategoryAlist, set by NRTsetVector4Part1 $condAlist: local := nil $uncondAlist: local := nil @@ -537,9 +580,7 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body], $NRTaddForm: local := nil -- see compAdd $NRTdeltaList: local := nil --list of misc. elts used in compiled fncts $NRTdeltaListComp: local := nil --list of compiled forms for $NRTdeltaList - $NRTaddList: local := nil --list of fncts not defined in capsule (added) $NRTdeltaLength: local := 0 -- =length of block of extra entries in vector - $NRTloadTimeAlist: local := nil --used for things in slot4 (NRTsetVector4) $NRTdomainFormList: local := nil -- of form ((gensym . (Repe...)) ... -- the above optimizes the calls to local domains $template: local:= nil --stored in the lisplib (if $NRTvec = true) @@ -637,7 +678,6 @@ compDefineFunctor1(df is ['DEF,form,signature,$functorSpecialCases,body], ['MAKEPROP,MKQ $op,''infovec,getInfovecCode()]) $lisplibSlot1 := $NRTslot1Info $lisplibOperationAlist:= operationAlist - $lisplibMissingFunctions:= $CheckVectorList lisplibWrite('"compilerInfo", removeZeroOne ['SETQ,'$CategoryFrame, ['put,['QUOTE,op'],' @@ -711,7 +751,6 @@ displayMissingFunctions() == --% domain view code makeFunctorArgumentParameters(argl,sigl,target) == - $alternateViewList: local:= nil $forceAdd: local:= true $ConditionalOperators: local := nil ("append"/[fn(a,augmentSig(s,findExtras(a,target))) @@ -765,7 +804,6 @@ genDomainView(viewName,originalName,c,viewSelector) == c is ['SubsetCategory,c',.] => c' c $e:= augModemapsFromCategory(originalName,viewName,nil,c,$e) - --$alternateViewList:= ((viewName,:code),:$alternateViewList) cd:= ["%LET",viewName,[viewSelector,originalName,mkDomainConstructor code]] if null member(cd,$getDomainCode) then $getDomainCode:= [cd,:$getDomainCode] @@ -1098,6 +1136,8 @@ compArgumentConditions e == T := [.,.,e]:= compOrCroak(y,$Boolean,e) [n,x,T.expr] e + +$body := nil addArgumentConditions($body,$functionName) == $argumentConditionList => @@ -1123,7 +1163,6 @@ canCacheLocalDomain(dom,elt)== domargsglobal(dom) => $functorLocalParameters:= [:$functorLocalParameters,dom] PUSH([dom,GENVAR(),[elt,$selector,$funcLocLen]],$usedDomList) - $selcount:= $selcount+1 $funcLocLen:= $funcLocLen+1 nil where @@ -1165,6 +1204,9 @@ compileCases(x,$e) == -- $e is referenced in compile getSpecialCaseAssoc() == [[R,:l] for R in rest $functorForm for l in rest $functorSpecialCases | l] + + +$savableItems := nil compile u == [op,lamExpr] := u @@ -1588,7 +1630,6 @@ compCategory(x,m,e) == domainOrPackage,:l] => $sigList: local := nil $atList: local := nil - $sigList:= $atList:= nil for x in l repeat compCategoryItem(x,nil,e) rep:= mkExplicitCategoryFunction(domainOrPackage,$sigList,$atList) --if inside compDefineCategory, provide for category argument substitution diff --git a/src/interp/sys-globals.boot b/src/interp/sys-globals.boot index 07195934..ec56043b 100644 --- a/src/interp/sys-globals.boot +++ b/src/interp/sys-globals.boot @@ -437,6 +437,14 @@ $m := nil _/SOURCEFILES := [] _/SPACELIST := [] +$extraParms := [] + +$categoryPredicateList := [] + +$getDomainCode := nil +$addForm := nil +$domainShell := nil + --% $algebraOutputStream := diff --git a/src/interp/wi1.boot b/src/interp/wi1.boot index 7f11de54..7f402883 100644 --- a/src/interp/wi1.boot +++ b/src/interp/wi1.boot @@ -1190,7 +1190,6 @@ compDefineCategory2(form,signature,specialCases,body,m,e, --Begin lines for category default definitions $functionStats: local:= [0,0] $functorStats: local:= [0,0] - $frontier: local := 0 $getDomainCode: local := nil $addForm: local:= nil for x in sargl for t in rest signature' repeat diff --git a/src/interp/wi2.boot b/src/interp/wi2.boot index 0dfed4bc..81a8cbe3 100644 --- a/src/interp/wi2.boot +++ b/src/interp/wi2.boot @@ -107,10 +107,8 @@ compDefineFunctor1(df, m,$e,$prefix,$formalArgList) == pp target return nil $domainShell:= COPY_-SEQ ds - $attributesName:local := INTERN STRCONC(PNAME $op,'";attributes") attributeList := ds.2 --see below under "loadTimeAlist" --+ 7 lines for $NRT follow - $goGetList: local := nil -->--these globals used by NRTmakeCategoryAlist, set by NRTsetVector4Part1 $condAlist: local := nil $uncondAlist: local := nil @@ -124,9 +122,7 @@ compDefineFunctor1(df, m,$e,$prefix,$formalArgList) == $NRTaddForm: local := nil -- see compAdd $NRTdeltaList: local := nil --list of misc. elts used in compiled fncts $NRTdeltaListComp: local := nil --list of compiled forms for $NRTdeltaList - $NRTaddList: local := nil --list of fncts not defined in capsule (added) $NRTdeltaLength: local := 0 -- =length of block of extra entries in vector - $NRTloadTimeAlist: local := nil --used for things in slot4 (NRTsetVector4) $NRTdomainFormList: local := nil -- of form ((gensym . (Repe...)) ... -- the above optimizes the calls to local domains $template: local:= nil --stored in the lisplib (if $NRTvec = true) @@ -223,7 +219,6 @@ compDefineFunctor1(df, m,$e,$prefix,$formalArgList) == ['MAKEPROP,MKQ $op,''infovec,getInfovecCode()]) $lisplibSlot1 := $NRTslot1Info --NIL or set by $NRTmakeSlot1 $lisplibOperationAlist:= operationAlist - $lisplibMissingFunctions:= $CheckVectorList lisplibWrite('"compilerInfo", ['SETQ,'$CategoryFrame, ['put,['QUOTE,op'],' @@ -238,7 +233,6 @@ compDefineFunctor1(df, m,$e,$prefix,$formalArgList) == [fun,['Mapping,:signature'],originale] makeFunctorArgumentParameters(argl,sigl,target) == - $alternateViewList: local:= nil $forceAdd: local:= true $ConditionalOperators: local target := markKillAll target -- cgit v1.2.3