This is the mail archive of the
cgen@sources.redhat.com
mailing list for the CGEN project.
PATCH: Handle symbols in messages
- From: Jim Blandy <jimb at redhat dot com>
- To: cgen at sources dot redhat dot com
- Date: 20 Jan 2005 17:53:33 -0500
- Subject: 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))))