From a9db09ecc6540e49d1413cfeaa8bd616c3ec7e83 Mon Sep 17 00:00:00 2001 From: johnvg Date: Fri, 8 Feb 2002 14:09:43 +0000 Subject: export and extend PrintState, add File parameter to PrintRules git-svn-id: https://svn.cs.ru.nl/repos/clean-compiler/trunk@1010 1f8540f1-abd5-4d5b-9d24-4c5ce8603e2d --- backendC/CleanCompilerSources/dbprint.c | 43 +++++++++++++++++++++++++-------- backendC/CleanCompilerSources/dbprint.h | 3 ++- 2 files changed, 35 insertions(+), 11 deletions(-) (limited to 'backendC') diff --git a/backendC/CleanCompilerSources/dbprint.c b/backendC/CleanCompilerSources/dbprint.c index 12a6a63..57323bf 100644 --- a/backendC/CleanCompilerSources/dbprint.c +++ b/backendC/CleanCompilerSources/dbprint.c @@ -35,7 +35,7 @@ static void PrintUnaryState (StateKind kind, ObjectKind obj, File file) case UnderEval: FPutS ("UnderEval ", file); break; } switch (obj) - { case UnknownObj: FPutS ("???", file); break; + { case UnknownObj: FPutS ("??? ", file); break; case IntObj: FPutS ("Int ", file); break; case BoolObj: FPutS ("Bool ", file); break; case CharObj: FPutS ("Char ", file); break; @@ -48,12 +48,33 @@ static void PrintUnaryState (StateKind kind, ObjectKind obj, File file) } } -static void PrintState (StateS state, File file) +void PrintState (StateS state, File file) { - return; - - if (state.state_arity == 1) - PrintUnaryState (state.state_kind,state.state_object, file); + switch (state.state_type){ + case TupleState: + { + int i,arity; + + arity=state.state_arity; + FPrintF (file,"t%d",arity); + + for (i=0; iarg_state, file); - + */ + if (arg->arg_node->node_kind==NodeIdNode) DPrintNodeId (arg->arg_node->node_node_id,file); else { @@ -797,15 +820,15 @@ void PrintImpRule (ImpRules rule,int n_leading_spaces,File file) PrintRuleAlts (rule->rule_alts,n_leading_spaces,file); } -void PrintRules (ImpRules rules) +void PrintRules (ImpRules rules,File file) { ImpRuleS *rule; for_l (rule,rules,rule_next){ - PrintImpRule (rule,4,StdOut); + PrintImpRule (rule,4,file); if (rule->rule_next!=NULL) - FPutC ('\n',StdOut); + FPutC ('\n',file); } } diff --git a/backendC/CleanCompilerSources/dbprint.h b/backendC/CleanCompilerSources/dbprint.h index e87800e..3eb0f3c 100644 --- a/backendC/CleanCompilerSources/dbprint.h +++ b/backendC/CleanCompilerSources/dbprint.h @@ -11,8 +11,9 @@ 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); +extern void PrintRules (ImpRules rules,File file); #ifdef _COMPSTATS_ extern unsigned long -- cgit v1.2.3