diff options
author | johnvg | 2011-02-25 13:34:54 +0000 |
---|---|---|
committer | johnvg | 2011-02-25 13:34:54 +0000 |
commit | 1f96dde0e1f9cedf75c9a6c4491d56ea24a718e0 (patch) | |
tree | f5ee19d7751f8ffe7bdc8f891039e0b9d42cb7ad /backendC | |
parent | remove some unused fields and variables (diff) |
git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1866 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d
Diffstat (limited to 'backendC')
-rw-r--r-- | backendC/CleanCompilerSources/backend.c | 1 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/buildtree.c | 2 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/checker_2.c | 1 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/checksupport.c | 30 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/checksupport.h | 2 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/codegen.c | 6 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/comsupport.c | 3 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/dbprint.c | 61 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/dbprint.h | 20 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/overloading.h | 99 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/overloading_2.c | 80 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/sa.c | 6 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/scanner_2.c | 1 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/statesgen.c | 4 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/syntaxtr.t | 98 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/tcsupport_2.c | 19 | ||||
-rw-r--r-- | backendC/CleanCompilerSources/typeconv_2.c | 24 |
17 files changed, 15 insertions, 442 deletions
diff --git a/backendC/CleanCompilerSources/backend.c b/backendC/CleanCompilerSources/backend.c index 42b4c56..17bb842 100644 --- a/backendC/CleanCompilerSources/backend.c +++ b/backendC/CleanCompilerSources/backend.c @@ -2518,7 +2518,6 @@ DeclareFunctionC (char *name, int arity, int functionIndex, unsigned int ancesto newSymbDef->sdef_dcl_icl = NULL; newSymbDef->sdef_isused = 0; - newSymbDef->sdef_nr_of_lifted_nodeids = 0; /* used in PrintType */ newSymbDef->sdef_line = 0; /* used in PrintType */ *icl->beicl_depsP = newSymbDef; diff --git a/backendC/CleanCompilerSources/buildtree.c b/backendC/CleanCompilerSources/buildtree.c index 1c84172..b7e05cf 100644 --- a/backendC/CleanCompilerSources/buildtree.c +++ b/backendC/CleanCompilerSources/buildtree.c @@ -64,7 +64,7 @@ NewArgument (NodeP node) newarg = CompAllocType (ArgS); newarg->arg_node = node; - newarg->arg_occurrence = NotUsed; + newarg->arg_occurrence = 0; newarg->arg_next = NIL; return (newarg); diff --git a/backendC/CleanCompilerSources/checker_2.c b/backendC/CleanCompilerSources/checker_2.c index 8f7363e..9399b0d 100644 --- a/backendC/CleanCompilerSources/checker_2.c +++ b/backendC/CleanCompilerSources/checker_2.c @@ -132,7 +132,6 @@ SymbDef MakeNewSymbolDefinition (char * module, Ident name, int arity, SDefKind def->sdef_mark=0; def->sdef_exported=False; - def->sdef_main_dcl=False; def->sdef_arfun = NoArrayFun; diff --git a/backendC/CleanCompilerSources/checksupport.c b/backendC/CleanCompilerSources/checksupport.c index d7ebdf0..e8e776d 100644 --- a/backendC/CleanCompilerSources/checksupport.c +++ b/backendC/CleanCompilerSources/checksupport.c @@ -425,36 +425,6 @@ void CheckError (char *msg1,char *msg2) StaticMessage (True,"%S","%s %s",CurrentSymbol,msg1,msg2); } -void CheckNodeError (char *msg1,char *msg2,NodeP node_p) -{ - if (node_p->node_line>=0){ - unsigned old_CurrentLine; - - old_CurrentLine=CurrentLine; - - CurrentLine=node_p->node_line; - StaticMessage (True,"%S","%s %s",CurrentSymbol,msg1,msg2); - - CurrentLine=old_CurrentLine; - } else - StaticMessage (True,"%S","%s %s",CurrentSymbol,msg1,msg2); -} - -void CheckNodeSymbolError (struct symbol *symbol,char *msg,NodeP node_p) -{ - if (node_p->node_line>=0){ - unsigned old_CurrentLine; - - old_CurrentLine=CurrentLine; - - CurrentLine=node_p->node_line; - StaticMessage (True,"%S","%S %s",CurrentSymbol,symbol,msg); - - CurrentLine=old_CurrentLine; - } else - StaticMessage (True,"%S","%S %s",CurrentSymbol,symbol,msg); -} - void CheckSymbolError (struct symbol *symbol,char *msg) { StaticMessage (True,"%S","%S %s",CurrentSymbol,symbol,msg); diff --git a/backendC/CleanCompilerSources/checksupport.h b/backendC/CleanCompilerSources/checksupport.h index 60759d2..0aa4ca7 100644 --- a/backendC/CleanCompilerSources/checksupport.h +++ b/backendC/CleanCompilerSources/checksupport.h @@ -6,8 +6,6 @@ extern char *ConvertSymbolKindToString (SymbKind skind); extern void CheckError (char *msg1,char *msg2); -extern void CheckNodeError (char *msg1,char *msg2,NodeP node_p); -extern void CheckNodeSymbolError (struct symbol *symbol,char *msg,NodeP node_p); extern void CheckSymbolError (struct symbol *symbol,char *msg); extern void CheckWarning (char *msg1,char *msg2); extern void CheckSymbolWarning (struct symbol *symbol,char *msg); diff --git a/backendC/CleanCompilerSources/codegen.c b/backendC/CleanCompilerSources/codegen.c index 20ed6d8..9a4c3c0 100644 --- a/backendC/CleanCompilerSources/codegen.c +++ b/backendC/CleanCompilerSources/codegen.c @@ -758,9 +758,6 @@ static void CodeRule (ImpRuleP rule) rule_sdef->sdef_dcl_icl->sdef_rule_type->rule_type_state_p,rule->rule_state_p, jmp_to_eval_args_entry,init_a_stack_top, init_b_stack_top, &ea_lab, &extlab, root_node_needed); break; - case INSTANCE: - ext_label_needed=True; - break; default: ErrorInCompiler ("codegen.c","CodeRule","unknown kind of rewrite rule"); break; @@ -1295,9 +1292,6 @@ void CodeGeneration (ImpMod imod, char *fname) WriteLastNewlineToABCFile(); CloseABCFile (fname); -#ifdef _COMPSTATS_ - PrintCompStats(); -#endif } } } diff --git a/backendC/CleanCompilerSources/comsupport.c b/backendC/CleanCompilerSources/comsupport.c index 9202b2c..2de8942 100644 --- a/backendC/CleanCompilerSources/comsupport.c +++ b/backendC/CleanCompilerSources/comsupport.c @@ -640,9 +640,6 @@ void InitCompiler (void) InitStatesGen (); InitCoding (); InitInstructions (); -#ifdef _COMPSTATS_ - InitDB (); -#endif oldhandler = SetSignal (SetInterruptFlag); } /* InitCompiler */ diff --git a/backendC/CleanCompilerSources/dbprint.c b/backendC/CleanCompilerSources/dbprint.c index 7d405e2..7b629f2 100644 --- a/backendC/CleanCompilerSources/dbprint.c +++ b/backendC/CleanCompilerSources/dbprint.c @@ -77,18 +77,6 @@ void PrintState (StateS state, File file) } } -void DPrintOccurrenceKind (OccurrenceKind kind, File file) -{ - switch (kind) - { case NotUsed: /* FPutS ("NotUsed", file); */ return; - case UniquelyUsed: FPutS ("<U> ", file); return; - case SelectivelyUsed: FPutS ("<S> ", file); return; - case MultiplyUsed: FPutS ("<M> ", file); return; - default: FPutS ("<?> ", file); return; - } - -} - void DPrintNodeId (NodeId nid, File file) { if (nid){ @@ -138,10 +126,8 @@ static void PrintArgument (Args arg,Bool brackets,int n_leading_spaces,File file if (arg->arg_node->node_kind==NodeIdNode) DPrintNodeId (arg->arg_node->node_node_id,file); - else { - /* DPrintOccurrenceKind (arg -> arg_occurrence); */ + else PrintRuleNode (arg->arg_node,brackets,n_leading_spaces,file); - } } static void print_spaces (int n_leading_spaces,File file) @@ -541,11 +527,7 @@ void PrintNodeDef (NodeDefP def_p,int n_leading_spaces,File file) for (n=n_leading_spaces; n>0; --n) FPutC (' ',file); -/* if (def_p->def_has_lhs_pattern) - PrintRuleNode (def_p->def_pattern,False,n_leading_spaces,file); - else -*/ - DPrintNodeId (def_p -> def_id, file); + DPrintNodeId (def_p -> def_id, file); if (def_p -> def_node){ FPutS (" = ", file); @@ -797,42 +779,3 @@ void PrintRules (ImpRules rules,File file) FPutC ('\n',file); } } - -#ifdef _COMPSTATS_ - -unsigned long - NrNodeCells, - NrArgCells, - NrTypeNodeCells, - NrTypeArgCells, - NrExpandedTypeNodeCells, - NrExpandedTypeArgCells, - NrNodeIdCells, - NrSymbolCells, - NrBasicNodes; - -void InitDB (void) -{ - NrArgCells = NrNodeCells = NrNodeIdCells =0; - NrTypeArgCells = NrTypeNodeCells =0; - NrExpandedTypeNodeCells = NrExpandedTypeArgCells = 0; - NrBasicNodes = NrSymbolCells = 0; -} - -extern unsigned long NrOfBytes; -void PrintCompStats (void, File file) -{ - FPutC('\n', file); - FPrintF (file, "Number of nodes: %lu\n", NrNodeCells); - FPrintF (file, "Number of arguments: %lu\n", NrArgCells); - FPrintF (file, "Number of type nodes: %lu\n", NrTypeNodeCells); - FPrintF (file, "Number of type arguments: %lu\n", NrTypeArgCells); - FPrintF (file, "Number of expanded type nodes: %lu\n", NrExpandedTypeNodeCells); - FPrintF (file, "Number of expanded type arguments: %lu\n", NrExpandedTypeArgCells); - FPrintF (file, "Number of nodeids: %lu\n", NrNodeIdCells); - FPrintF (file, "Number of symbols: %lu\n", NrSymbolCells); - FPrintF (file, "Number of basic nodes: %lu\n", NrBasicNodes); - FPrintF (file, "Total number of bytes: %lu\n", NrOfBytes); -} - -#endif diff --git a/backendC/CleanCompilerSources/dbprint.h b/backendC/CleanCompilerSources/dbprint.h index 3eb0f3c..9227b97 100644 --- a/backendC/CleanCompilerSources/dbprint.h +++ b/backendC/CleanCompilerSources/dbprint.h @@ -1,6 +1,4 @@ -#undef _COMPSTATS_ - extern void PrintRuleNode (Node node,Bool brackets,int n_leading_spaces,File file); extern void PrintRuleAlt (RuleAlts rulealt,int n_leading_spaces,File file); extern void PrintNodeDef (NodeDefP def_p,int n_leading_spaces,File file); @@ -9,25 +7,7 @@ extern void PrintImpRule (ImpRules rule,int n_leading_spaces,File file); extern void PrintTypeNode (TypeNode node, File file); extern void DPrintNodeId (NodeId nid, File file); extern void DPrintNodeIdS (char *s,NodeId nid, File file); -extern void DPrintOccurrenceKind (OccurrenceKind kind, File file); extern void PrintTypeAlt (TypeAlts type_alts, File file, Bool with_equats); extern void PrintState (StateS state, File file); extern void PrintRules (ImpRules rules,File file); - -#ifdef _COMPSTATS_ -extern unsigned long - NrNodeCells, - NrArgCells, - NrTypeNodeCells, - NrTypeArgCells, - NrExpandedTypeNodeCells, - NrExpandedTypeArgCells, - NrNodeIdCells, - NrSymbolCells, - NrBasicNodes; - -extern void InitDB (void); - -extern void PrintCompStats (void); -#endif
\ No newline at end of file diff --git a/backendC/CleanCompilerSources/overloading.h b/backendC/CleanCompilerSources/overloading.h index 967f7fe..e69de29 100644 --- a/backendC/CleanCompilerSources/overloading.h +++ b/backendC/CleanCompilerSources/overloading.h @@ -1,99 +0,0 @@ -/* - - Version 1.0 08/25/1994 - - Author: Sjaak Smetsers - -*/ - -/* - -typedef struct member_descriptor -{ - SymbDef md_class; - Symbol md_rule; - -} * MemberDescriptor; - -typedef struct member_item -{ - Bool mi_is_class; - union - { Overloaded mi_u_rule; - SymbDef mi_u_class; - } mi_union; - - struct member_item * mi_next; - -} * MemberItems; - -#define mi_rule mi_union.mi_u_rule -#define mi_class mi_union.mi_u_class - -*/ - -/* - Global variables -*/ - -extern unsigned NrOfOverloadedTypeVars, NrOfOverloadedRules, NrOfUntypedImpRules, - NrOfTypeClasses; - - -/* - Global functions -*/ - -extern int LengthOfPolyList (PolyList list); - -extern PolyList NewPolyListElem (void *elem, PolyList next, HeapDescr hd); - -extern Bool IsSubClass (SymbolList sub_tree, SymbolList whole_list); - -extern void DetermineClassesOfOverloadedTypeVariables (struct type_cell * type_inst); - -extern Bool TryToBindOverloadedTypeVariables (Node appl_node, SymbolList class_symbols, struct type_cell * type_inst); - -extern void CheckInstancesOfTypeClasses (Symbol symbs); - -extern void ConvertTypeClasses (void); - -extern void ConvertTypeContexts (TypeContext type_cont, struct type_cell * typeargs []); - -extern void SetOverloadedTypeVars (int over_arity, TypeContext type_cont, struct type_cell * over_vars []); - -extern void DetermineClassNumber (SymbDef class_symb); - -extern SymbDef CopySymbDef (SymbDef old); - -extern SymbDef NewEmptyRule (Symbol rule_symb, int arity, unsigned line); - -extern Bool EqualTypeClasses (int var_nr1, int var_nr2); - -extern void InitOverloading (void); - -extern FieldList RetrieveClassSelector (SymbolList class_symbols, SymbDef class_symbol); - -extern Types DetermineClassRecord (int nr_of_fields); - -extern Bool InstanceIsExported (struct type_cell * inst_types [], struct type_cell * over_vars [], TypeContext type_cont); - -extern struct type_cell * DetermineDefaultInstance (struct type_cell * over_var, Node over_appl_node); - -extern Bool EqualSymbolList (SymbolList class_symbols1, SymbolList class_symbols2); - -extern Bool ClassesHaveAGenericInstance (SymbolList classes); - -extern struct type_cell * DetermineGenericInstance (struct type_cell * over_var); - -extern SymbolList RebuildClassSymbolList (SymbolList class_symbs, void *alloc (SizeT size)); - -#define cTakeIclDef True -#define cDontTakeIclDef False - -extern void InsertSymbolInSymbolList (SymbolList *symbols, SymbDef new_symbol, Bool take_icl_def, void *alloc (SizeT size)); - -extern void ConvertClassSymbolTreeToList (SymbolList symbols, SymbolList * result_list, void *alloc (SizeT size)); - -extern void CreateRuleType (SymbDef icl_def, TypeAlts imp_type); - diff --git a/backendC/CleanCompilerSources/overloading_2.c b/backendC/CleanCompilerSources/overloading_2.c index b79912f..e69de29 100644 --- a/backendC/CleanCompilerSources/overloading_2.c +++ b/backendC/CleanCompilerSources/overloading_2.c @@ -1,80 +0,0 @@ -/* - Version 1.0 - 24 okt 1994 - - Author: Sjaak Smetsers -*/ - -#include "compiledefines.h" -#include "types.t" -#include "system.h" -#include "settings.h" -#include "syntaxtr.t" -#include "comsupport.h" - -#include "scanner.h" -#include "comparser.h" -#include "sizes.h" -#include "checker.h" -#include "checksupport.h" -#include "transform.h" -#include "sa.h" -#include "statesgen.h" -#include "tctypes.t" -#include "typechecker.h" -#include "typechecker2.h" -#include "typeconv.h" -#include "tcsupport.h" -#include "refcountanal.h" -#include "overloading.h" -#include "buildtree.h" - -#ifdef _DEBUG_ - static char *OV = "overloading"; -#endif - -PolyList NewPolyListElem (void *elem, PolyList next, HeapDescr hd) -{ - PolyList new = TH_AllocType (hd, struct poly_list); - new -> pl_elem = elem; - new -> pl_next = next; - return new; - -} /* NewPolyListElem */ - -void InsertSymbolInSymbolList (SymbolList *symbols, SymbDef new_symbol, Bool take_icl_def, void *alloc (SizeT size)) -{ - SymbolList new_elem; - - for (; *symbols; symbols = & (*symbols) -> sl_next) - { int cmp = strcmp ((*symbols) -> sl_symbol -> sdef_ident -> ident_name, new_symbol -> sdef_ident -> ident_name); - if (cmp == 0) - return; - else if (cmp > 0) - break; - } - - new_elem = (SymbolListS *) alloc (SizeOf (SymbolListS)); - - if (take_icl_def && new_symbol -> sdef_main_dcl) - new_elem -> sl_symbol = new_symbol -> sdef_dcl_icl; - else - new_elem -> sl_symbol = new_symbol; - - new_elem -> sl_kind = SLK_Symbol; - new_elem -> sl_next = *symbols; - - *symbols = new_elem; - -} /* InsertSymbolInSymbolList */ - -void ConvertClassSymbolTreeToList (SymbolList symbols, SymbolList * result_list, void *alloc (SizeT size)) -{ - SymbolList next_symbol; - for (next_symbol = symbols; next_symbol -> sl_kind == SLK_TreeOfLists; next_symbol = next_symbol -> sl_next_tree) - ConvertClassSymbolTreeToList (next_symbol -> sl_next, result_list, alloc); - if (next_symbol -> sl_kind == SLK_ListNumber) - next_symbol = next_symbol -> sl_next; - for (; next_symbol; next_symbol = next_symbol -> sl_next) - InsertSymbolInSymbolList (result_list, next_symbol -> sl_symbol, cTakeIclDef, alloc); - -} /* ConvertClassSymbolTreeToList */ diff --git a/backendC/CleanCompilerSources/sa.c b/backendC/CleanCompilerSources/sa.c index caa80c9..2b01345 100644 --- a/backendC/CleanCompilerSources/sa.c +++ b/backendC/CleanCompilerSources/sa.c @@ -2277,9 +2277,6 @@ static Exp ConvertNode (Node node, NodeId nid) sdef = node->node_symbol->symb_def; - if (sdef->sdef_kind == INSTANCE) - DoFatalError ("Strictness analysis (ConvertNode): instance encounterred"); - if (sdef->sdef_kind==DEFRULE || sdef->sdef_kind==SYSRULE){ TypeAlts rule; TypeArgs typeargs; @@ -2604,9 +2601,6 @@ static Exp convert_pattern (SymbolP symbol_p,int arity,NodeIdListElementP node_i sdef = symbol_p->symb_def; - if (sdef->sdef_kind == INSTANCE) - DoFatalError ("Strictness analysis (convert_pattern): instance encounterred"); - if (sdef->sdef_kind==DEFRULE || sdef->sdef_kind==SYSRULE){ TypeAlts rule; TypeArgs typeargs; diff --git a/backendC/CleanCompilerSources/scanner_2.c b/backendC/CleanCompilerSources/scanner_2.c index d163dba..fe1187c 100644 --- a/backendC/CleanCompilerSources/scanner_2.c +++ b/backendC/CleanCompilerSources/scanner_2.c @@ -49,7 +49,6 @@ NewIdent (TableKind tableKind, char *name) ident->ident_next = NULL; ident->ident_environ = NULL; ident->ident_symbol = NULL; - ident->ident_local_defs = NULL; ident->ident_mark = 0; return (ident); diff --git a/backendC/CleanCompilerSources/statesgen.c b/backendC/CleanCompilerSources/statesgen.c index af13064..c69cc2f 100644 --- a/backendC/CleanCompilerSources/statesgen.c +++ b/backendC/CleanCompilerSources/statesgen.c @@ -1099,7 +1099,7 @@ void ExamineTypesAndLhsOfImpRuleSymbolDefinitionAgain (SymbDef def) DetermineLhsStatesOfRule (def->sdef_rule); #endif - if (def->sdef_exported && def->sdef_dcl_icl!=NULL && def->sdef_dcl_icl->sdef_kind!=INSTANCE) + if (def->sdef_exported && def->sdef_dcl_icl!=NULL) rootstate=def->sdef_dcl_icl->sdef_rule_type->rule_type_state_p[-1]; if (IsSimpleState (rootstate)){ @@ -1148,7 +1148,7 @@ void ExamineTypesAndLhsOfSymbolDefinition (SymbDef def) def->sdef_rule->rule_state_p = allocate_function_state (def->sdef_arity); rootstate = DetermineStatesOfRuleType (def->sdef_rule->rule_type,def->sdef_rule->rule_state_p); - if (def->sdef_exported && def->sdef_dcl_icl!=NULL && def->sdef_dcl_icl->sdef_kind!=INSTANCE){ + if (def->sdef_exported && def->sdef_dcl_icl!=NULL){ def->sdef_dcl_icl->sdef_rule_type->rule_type_state_p = allocate_function_state (def->sdef_arity); rootstate = DetermineStatesOfRuleType (def->sdef_dcl_icl->sdef_rule_type->rule_type_rule,def->sdef_dcl_icl->sdef_rule_type->rule_type_state_p); } diff --git a/backendC/CleanCompilerSources/syntaxtr.t b/backendC/CleanCompilerSources/syntaxtr.t index eb0f8f4..f3e35f3 100644 --- a/backendC/CleanCompilerSources/syntaxtr.t +++ b/backendC/CleanCompilerSources/syntaxtr.t @@ -4,7 +4,6 @@ #include "compiledefines.h" -#define class class_is_keyword #define new new_is_keyword #define STRUCT(struct_name,type_name) \ @@ -19,10 +18,6 @@ typedef enum { NoAttr, DeferAttr, CopyAttr } GraphAttributeKind; -typedef enum -{ NotUsed, UniquelyUsed, SelectivelyUsed, MultiplyUsed, ObservinglyUsed -} OccurrenceKind; - typedef enum { TupleState, ArrayState, RecordState, SimpleState } StateType; @@ -193,15 +188,6 @@ STRUCT(ident,Ident){ char * ident_u1_instructions; } ident_union1; -#ifdef SHORT_CLASS_NAMES - union{ - struct local_def * ident_u2_local_defs; - struct module_info * ident_u2_mod_info; - } ident_union2; -#else - struct local_def * ident_local_defs; -#endif - struct ident * ident_next; unsigned char ident_table; /* TableKind */ unsigned char ident_mark; @@ -212,11 +198,6 @@ STRUCT(ident,Ident){ #define ident_tv ident_union1.ident_u1_tv #define ident_uni_var ident_union1.ident_u1_uni_var #define ident_instructions ident_union1.ident_u1_instructions - -#ifdef SHORT_CLASS_NAMES -#define ident_local_defs ident_union2.ident_u2_local_defs -#define ident_mod_info ident_union2.ident_u2_mod_info -#endif #define IMPORT_MASK 1 #define IMPORTED_MASK 2 @@ -426,7 +407,6 @@ STRUCT (node,Node){ struct if_node_contents * contents_if; Symbol contents_symbol; NodeId contents_node_id; - Ident contents_ident; struct node * contents_node; struct node_id_list_element *contents_node_ids; #ifdef TRANSFORM_PATTERNS_BEFORE_STRICTNESS_ANALYSIS @@ -480,7 +460,6 @@ STRUCT (node,Node){ #define node_node_defs node_su.su_u.u_node_defs #define node_symbol node_contents.contents_symbol #define node_node_id node_contents.contents_node_id -#define node_ident node_contents.contents_ident #define node_node node_contents.contents_node #define node_node_ids node_contents.contents_node_ids @@ -507,7 +486,7 @@ STRUCT (arg,Arg){ struct arg * arg_next; union { StateS u_state; - unsigned long u_occurrence; /* OccurrenceKind */ + unsigned long u_occurrence; } arg_u; }; typedef struct arg *Args; @@ -516,39 +495,16 @@ typedef struct arg *Args; #define arg_occurrence arg_u.u_occurrence STRUCT (node_def,NodeDef){ - union { - NodeId u1_id; - Node u1_pattern; - } def_u1; + NodeId def_id; Node def_node; NodeDefs def_next; int def_mark; }; -#define def_id def_u1.u1_id -#define def_pattern def_u1.u1_pattern - -#define NODE_DEF_HAS_LHS_PATTERN_MASK 1 -#define NODE_DEF_NEW_SCOPE_MASK 2 -#define NODE_DEF_NORMAL_SCOPE_MASK 4 #define NODE_DEF_MARKED 8 #define NODE_DEF_OBSERVE_MASK 16 #define NODE_DEF_SELECT_AND_REMOVE_MASK 32 -typedef struct local_def { - union { - NodeId contents_node_id; /* ldef_node_id, if ldef_kind==0 */ - Symbol contents_symbol; /* ldef_symbol, if ldef_kind==1 */ - } ldef_contents; - struct local_def * ldef_next; - int ldef_scope; - char ldef_kind; - char ldef_lifted; -} LocalDef,*LocalDefP; - -#define ldef_node_id ldef_contents.contents_node_id -#define ldef_symbol ldef_contents.contents_symbol - /* for implementing calls to C or the OS */ typedef struct parameter Parameter,*Parameters; @@ -600,11 +556,7 @@ STRUCT (rule_alt,RuleAlt){ StrictNodeIdP alt_strict_node_ids; RuleAlts alt_next; unsigned alt_line; -#ifdef OS2 - unsigned alt_kind:4; /* RhsKind */ -#else unsigned alt_kind:3; /* RhsKind */ -#endif Bool alt_may_fail:1; }; @@ -614,16 +566,13 @@ STRUCT (rule_alt,RuleAlt){ typedef enum { NEWDEFINITION, ABSTYPE, TYPE, TYPESYN, DEFRULE, IMPRULE, CONSTRUCTOR, SYSRULE, - RECORDTYPE, FIELDSELECTOR, - INSTANCE + RECORDTYPE, FIELDSELECTOR } SDefKind; #define SDefKindSize 5 typedef enum { - Indefinite, CurrentlyChecked, TypeChecked, - Predefined, Expanded, TotallyExpanded, - ConvertingToState, ConvertedToState + TypeChecked, ConvertingToState, ConvertedToState } CheckStatus; typedef enum { @@ -659,7 +608,6 @@ STRUCT (imp_rule,ImpRule){ unsigned rule_ref_count; }; -#define RULE_CHECKED_MASK 1 #define RULE_CAF_MASK 2 #define RULE_LAZY_CALL_NODE_MASK 4 #if STORE_STRICT_CALL_NODES @@ -670,7 +618,6 @@ STRUCT (imp_rule,ImpRule){ #define RULE_UNBOXED_LAZY_CALL 64 #define RULE_INTERNAL_FUNCTION_MASK 128 #define RULE_LAMBDA_FUNCTION_MASK 256 -#define RULE_HAS_REF_COUNT_MASK 512 #define RULE_CALL_VIA_LAZY_SELECTIONS_ONLY 1024 #define RULE_TAIL_MODULO_CONS_ENTRY_MASK 2048 @@ -690,14 +637,9 @@ STRUCT (symbol_def,SymbDef){ ImpRules u_rule; } sdef_u; union - { struct symbol_type_info * sti_rule_type_info; - struct symbol_type * sti_type_cons_info; - StateS typeinfo_record_state; + { StateS typeinfo_record_state; struct { FieldList fieldinfo_sel_field; -#ifndef CLEAN2 - Node fieldinfo_sel_node; -#endif int fieldinfo_sel_field_number; } sdef_fieldinfo; struct constructor_list * typeinfo_constructor; /* for CONSTRUCTOR */ @@ -707,7 +649,6 @@ STRUCT (symbol_def,SymbDef){ unsigned sdef_ancestor; short sdef_arity; short sdef_cons_arity; - unsigned short sdef_nr_of_lifted_nodeids; union { struct _fun * u3_sa_fun; /* sa.c */ @@ -717,31 +658,25 @@ STRUCT (symbol_def,SymbDef){ } sdef_u3; struct symbol_def * sdef_dcl_icl; /* to dcl if sdef_exported, to icl if sdef_main_dcl */ - - union { - struct symbol_def * u1_next_scc; - Symbol u1_subst_symbol; - } sdef_u1; + struct symbol_def * sdef_next_scc; union { struct symbol_def * sdef_u2_parent; - struct type_cons_repr * sdef_u2_type_cons_repr; struct symbol_def * sdef_u2_next_version; /* for IMPRULES */ } sdef_u2; unsigned sdef_line; int sdef_mark; + unsigned sdef_kind:SDefKindSize; + unsigned sdef_checkstatus:3; /* CheckStatus */ + unsigned sdef_arfun:ArrayFunKindBitSize; /* ArrayFunKind */ Bool sdef_isused:1; Bool sdef_returnsnode:1; Bool sdef_calledwithrootnode:1; Bool sdef_strict_constructor:1; /* for CONSTRUCTOR and RECORDTYPE */ Bool sdef_boxed_record:1; /* for RECORDTYPE */ Bool sdef_exported:1; - Bool sdef_main_dcl:1; /* if in .dcl of main .icl */ - unsigned sdef_kind:SDefKindSize; - unsigned sdef_checkstatus:3; /* CheckStatus */ - unsigned sdef_arfun:ArrayFunKindBitSize; /* ArrayFunKind */ }; #define sdef_type sdef_u.u_type @@ -755,13 +690,9 @@ STRUCT (symbol_def,SymbDef){ #define sdef_unboxed_cons_symbol sdef_u3.u3_unboxed_cons_symbol #endif -#define sdef_next_scc sdef_u1.u1_next_scc -#define sdef_subst_symbol sdef_u1.u1_subst_symbol /* macros */ - #define SDEF_USED_LAZILY_MASK 1 #define SDEF_USED_STRICTLY_MASK 2 #define SDEF_USED_CURRIED_MASK 4 -#define SDEF_LOCAL_MACRO_FUNCTION_MASK 8 #define SDEF_NEXT_IMP_RULE_VERSION_MASK 32 #define SDEF_HAS_IMP_RULE_VERSIONS_MASK 64 #define SDEF_OPTIMISED_FUNCTION_MASK 128 @@ -772,24 +703,13 @@ STRUCT (symbol_def,SymbDef){ #define sdef_has_instance_info sdef_used_as_instance #define sdef_parent sdef_u2.sdef_u2_parent -#define sdef_type_cons_repr sdef_u2.sdef_u2_type_cons_repr #define sdef_next_version sdef_u2.sdef_u2_next_version #define sdef_constructor sdef_typeinfo.typeinfo_constructor -#define sdef_rule_type_info sdef_typeinfo.sti_rule_type_info -#define sdef_type_cons_info sdef_typeinfo.sti_type_cons_info - -#define sdef_rule_cons_type_info sdef_rc->rc_type_info - -#define sdef_rule_cons_imprule sdef_rc->rc_imprule -#define sdef_rule_cons_defrule sdef_rc->rc_defrule - #define sdef_record_state sdef_typeinfo.typeinfo_record_state -#define sdef_ar_fun_aps sdef_typeinfo.typeinfo_ar_fun_aps #define sdef_sel_field sdef_typeinfo.sdef_fieldinfo.fieldinfo_sel_field -#define sdef_sel_node sdef_typeinfo.sdef_fieldinfo.fieldinfo_sel_node #define sdef_sel_field_number sdef_typeinfo.sdef_fieldinfo.fieldinfo_sel_field_number diff --git a/backendC/CleanCompilerSources/tcsupport_2.c b/backendC/CleanCompilerSources/tcsupport_2.c index 713c5b9..9556961 100644 --- a/backendC/CleanCompilerSources/tcsupport_2.c +++ b/backendC/CleanCompilerSources/tcsupport_2.c @@ -142,24 +142,7 @@ void PrintNodeSymbol (Node node, int arg_nr, File file) } else { if (arg_nr > 0) - { if (rootsymb -> symb_kind == definition && rootsymb -> symb_def -> sdef_kind == IMPRULE) - { if (arg_nr <= rootsymb -> symb_def -> sdef_nr_of_lifted_nodeids) - { Args lifted_arg; - int i; - - for (i = 1, lifted_arg = node -> node_arguments; i < arg_nr; i ++, lifted_arg = lifted_arg -> arg_next) - ; - if (lifted_arg -> arg_node -> node_kind == NodeIdNode) - FPrintF (StdError, "internal argument %s of ", lifted_arg -> arg_node -> node_node_id -> nid_ident -> ident_name); - else - FPrintF (StdError, "internal argument %d of ", arg_nr); - } - else - FPrintF (StdError, "argument %d of ", arg_nr - rootsymb -> symb_def -> sdef_nr_of_lifted_nodeids); - } - else - FPrintF (StdError, "argument %d of ", arg_nr); - } + FPrintF (StdError, "argument %d of ", arg_nr); PrintSymbol (rootsymb, file); } diff --git a/backendC/CleanCompilerSources/typeconv_2.c b/backendC/CleanCompilerSources/typeconv_2.c index 3007754..c28ff50 100644 --- a/backendC/CleanCompilerSources/typeconv_2.c +++ b/backendC/CleanCompilerSources/typeconv_2.c @@ -642,10 +642,6 @@ void PrintType (SymbDef tdef, TypeAlts type) { TypeNode lhs_root = type -> type_alt_lhs; TypeArgs lhsargs = lhs_root -> type_node_arguments; - int i; - - for (i=0; i<tdef -> sdef_nr_of_lifted_nodeids; i++) - lhsargs = lhsargs -> type_arg_next; PrintSymbolOfIdent (tdef -> sdef_ident, tdef -> sdef_line, StdListTypes); FPutS (" :: ", StdListTypes); @@ -677,18 +673,6 @@ void PrintType (SymbDef tdef, TypeAlts type) PrintAttributeEquations (type -> type_alt_attr_equations); FPutS (";\n", StdListTypes); - - if (tdef -> sdef_nr_of_lifted_nodeids > 0) - { FPutS ("// internal argument types:", StdListTypes); - for (i=0, lhsargs = lhs_root -> type_node_arguments; - i<tdef -> sdef_nr_of_lifted_nodeids; i++, lhsargs = lhsargs -> type_arg_next) - { FPutC (' ', StdListTypes); - PrintArgument (lhsargs, cPrintBrackets, cInAStrictContext, cDoPrintAttribute); - } - FPutC ('\n', StdListTypes); - } - - } /* PrintType */ void ListTypes (ImpMod imod) @@ -706,17 +690,9 @@ void ListTypes (ImpMod imod) } } /* ListTypes */ -/****** - - Routines for printing types - -******/ - - void InitARC_Info (void) { CurrentARC_Info = CompAllocType (struct attr_ref_count_info); CurrentARC_Info -> arci_next = NULL; } /* InitARC_Info */ - |