This is the mail archive of the cgen@sources.redhat.com mailing list for the CGEN project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

PATCH: Handle symbols in messages


I've committed the following.  There are many more places where concat
is needed, but cgen now runs with '-v -v -v -v'; we can fix others as
we find them.

2005-01-20  Jim Blandy  <jimb@redhat.com>

	* utils.scm (concat): New function.
	* insn.scm (-sub-insn-make!): Use concat instead of string-map.
	* rtl.scm (rtx-dump): Same.
	* semantics.scm (semantic-compile): Same.

Index: cgen/insn.scm
===================================================================
RCS file: /cvs/cvsfiles/devo/cgen/insn.scm,v
retrieving revision 1.58
diff -c -p -r1.58 insn.scm
*** cgen/insn.scm	20 Jul 2003 18:06:02 -0000	1.58
--- cgen/insn.scm	20 Jan 2005 22:52:04 -0000
***************
*** 271,280 ****
  	 (obj:name insn)
  	 ":"
  	 (string-map (lambda (op newval)
! 		       (string-append " "
! 				      (obj:name op)
! 				      "="
! 				      (obj:name newval)))
  		     anyof-operands new-values)
  	 " ...\n")
  
--- 271,280 ----
  	 (obj:name insn)
  	 ":"
  	 (string-map (lambda (op newval)
! 		       (concat " "
! 			       (obj:name op)
! 			       "="
! 			       (obj:name newval)))
  		     anyof-operands new-values)
  	 " ...\n")
  
Index: cgen/rtl.scm
===================================================================
RCS file: /cvs/cvsfiles/devo/cgen/rtl.scm,v
retrieving revision 1.53
diff -c -p -r1.53 rtl.scm
*** cgen/rtl.scm	20 Jul 2003 18:06:02 -0000	1.53
--- cgen/rtl.scm	20 Jan 2005 22:52:04 -0000
***************
*** 786,796 ****
  
  (define (rtx-dump rtx)
    (cond ((list? rtx) (map rtx-dump rtx))
! 	((object? rtx) (string-append "#<object "
! 				      (object-class-name rtx)
! 				      " "
! 				      (obj:name rtx)
! 				      ">"))
  	(else rtx))
  )
  
--- 786,796 ----
  
  (define (rtx-dump rtx)
    (cond ((list? rtx) (map rtx-dump rtx))
! 	((object? rtx) (concat "#<object "
! 			       (object-class-name rtx)
! 			       " "
! 			       (obj:name rtx)
! 			       ">"))
  	(else rtx))
  )
  
Index: cgen/semantics.scm
===================================================================
RCS file: /cvs/cvsfiles/devo/cgen/semantics.scm,v
retrieving revision 1.19
diff -c -p -r1.19 semantics.scm
*** cgen/semantics.scm	20 Jul 2003 18:06:02 -0000	1.19
--- cgen/semantics.scm	20 Jan 2005 22:52:04 -0000
***************
*** 798,808 ****
  		  sorted-outs out-op-nums)
  
  	(let ((dump (lambda (op)
! 		      (string-append "  "
! 				     (obj:name op)
! 				     " "
! 				     (number->string (op:num op))
! 				     "\n"))))
  	  (logit 4
  		 "Input operands:\n"
  		 (map dump sorted-ins)
--- 798,808 ----
  		  sorted-outs out-op-nums)
  
  	(let ((dump (lambda (op)
! 		      (concat "  "
! 			      (obj:name op)
! 			      " "
! 			      (number->string (op:num op))
! 			      "\n"))))
  	  (logit 4
  		 "Input operands:\n"
  		 (map dump sorted-ins)
Index: cgen/utils.scm
===================================================================
RCS file: /cvs/cvsfiles/devo/cgen/utils.scm,v
retrieving revision 1.82
diff -c -p -r1.82 utils.scm
*** cgen/utils.scm	16 Dec 2004 21:52:37 -0000	1.82
--- cgen/utils.scm	20 Jan 2005 22:52:04 -0000
***************
*** 85,90 ****
--- 85,96 ----
      (write (spaces n) port))
  )
  
+ ; Concatenate all the arguments and make a string.  Symbols are
+ ; converted to strings.
+ (define (concat . sequences)
+   (define (sequence->string o) (if (symbol? o) (symbol->string o) o))
+   (apply string-append (map sequence->string sequences)))
+ 
  ; Often used idiom.
  
  (define (string-map fn . args) (apply string-append (apply map (cons fn args))))


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]