From: Guillermo J. Rozas Date: Sat, 14 Nov 1992 17:24:28 +0000 (+0000) Subject: Add hook for C back end so that generated labels are legal C labels. X-Git-Tag: 20090517-FFI~8770 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=bdd769c6fd3bc4da5e03316380f0135a24fd62ec;p=mit-scheme.git Add hook for C back end so that generated labels are legal C labels. --- diff --git a/v7/src/compiler/base/asstop.scm b/v7/src/compiler/base/asstop.scm index ce759cdee..8fe8907ea 100644 --- a/v7/src/compiler/base/asstop.scm +++ b/v7/src/compiler/base/asstop.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: asstop.scm,v 1.2 1992/10/24 16:00:56 jinx Exp $ +$Id: asstop.scm,v 1.3 1992/11/14 17:20:27 gjr Exp $ Copyright (c) 1988-1992 Massachusetts Institute of Technology @@ -360,4 +360,8 @@ MIT in each case. |# (set! *ic-procedure-headers* '()) (phase/assemble) (phase/link) - *result*))) \ No newline at end of file + *result*))) + +(define (canonicalize-label-name name) + ;; The Scheme assembler allows any Scheme symbol as a label + name) \ No newline at end of file diff --git a/v7/src/compiler/base/utils.scm b/v7/src/compiler/base/utils.scm index 63b198c82..801ba03ec 100644 --- a/v7/src/compiler/base/utils.scm +++ b/v7/src/compiler/base/utils.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: utils.scm,v 4.17 1992/10/24 21:30:18 jinx Exp $ +$Id: utils.scm,v 4.18 1992/11/14 17:20:17 gjr Exp $ Copyright (c) 1987-1992 Massachusetts Institute of Technology @@ -67,20 +67,19 @@ MIT in each case. |# (else (loop (cdr items) passed (cons (car items) failed)))))) -(define *label-separator* "-") ; Not integrable!!! - (define (generate-label #!optional prefix) (if (default-object? prefix) (set! prefix 'LABEL)) (string->uninterned-symbol - (string-append - (symbol->string - (cond ((eq? prefix lambda-tag:unnamed) 'LAMBDA) - ((eq? prefix lambda-tag:let) 'LET) - ((eq? prefix lambda-tag:make-environment) 'MAKE-ENVIRONMENT) - ((eq? prefix lambda-tag:fluid-let) 'FLUID-LET) - (else prefix))) - *label-separator* - (number->string (generate-label-number))))) + (canonicalize-label-name + (string-append + (symbol->string + (cond ((eq? prefix lambda-tag:unnamed) 'LAMBDA) + ((eq? prefix lambda-tag:let) 'LET) + ((eq? prefix lambda-tag:make-environment) 'MAKE-ENVIRONMENT) + ((eq? prefix lambda-tag:fluid-let) 'FLUID-LET) + (else prefix))) + "-" + (number->string (generate-label-number)))))) (define *current-label-number*) diff --git a/v7/src/compiler/machines/alpha/compiler.pkg b/v7/src/compiler/machines/alpha/compiler.pkg index 4cd1e7af0..d8d6361d8 100644 --- a/v7/src/compiler/machines/alpha/compiler.pkg +++ b/v7/src/compiler/machines/alpha/compiler.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: compiler.pkg,v 1.2 1992/10/19 20:14:24 jinx Exp $ +$Id: compiler.pkg,v 1.3 1992/11/14 17:24:28 gjr Exp $ Copyright (c) 1992 Digital Equipment Corporation (D.E.C.) @@ -165,6 +165,8 @@ case. compiler:reset! cross-compile-bin-file cross-compile-bin-file-end) + (export (compiler) + canonicalize-label-name) (export (compiler fg-generator) compile-recursively) (export (compiler rtl-generator) diff --git a/v7/src/compiler/machines/bobcat/compiler.pkg b/v7/src/compiler/machines/bobcat/compiler.pkg index 383e369bd..0d11b5899 100644 --- a/v7/src/compiler/machines/bobcat/compiler.pkg +++ b/v7/src/compiler/machines/bobcat/compiler.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: compiler.pkg,v 1.40 1992/10/19 19:17:02 jinx Exp $ +$Id: compiler.pkg,v 1.41 1992/11/14 17:22:55 gjr Exp $ Copyright (c) 1988-1992 Massachusetts Institute of Technology @@ -169,6 +169,8 @@ MIT in each case. |# compiler:reset! cross-compile-bin-file cross-compile-bin-file-end) + (export (compiler) + canonicalize-label-name) (export (compiler fg-generator) compile-recursively) (export (compiler rtl-generator) diff --git a/v7/src/compiler/machines/i386/compiler.pkg b/v7/src/compiler/machines/i386/compiler.pkg index fce504778..d0ab9f785 100644 --- a/v7/src/compiler/machines/i386/compiler.pkg +++ b/v7/src/compiler/machines/i386/compiler.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: compiler.pkg,v 1.12 1992/10/19 20:14:15 jinx Exp $ +$Id: compiler.pkg,v 1.13 1992/11/14 17:23:19 gjr Exp $ Copyright (c) 1992 Massachusetts Institute of Technology @@ -166,6 +166,8 @@ MIT in each case. |# cross-compile-bin-file cross-compile-bin-file-end lap->code) + (export (compiler) + canonicalize-label-name) (export (compiler fg-generator) compile-recursively) (export (compiler rtl-generator) diff --git a/v7/src/compiler/machines/mips/compiler.pkg b/v7/src/compiler/machines/mips/compiler.pkg index 2ac1166b8..9f242502f 100644 --- a/v7/src/compiler/machines/mips/compiler.pkg +++ b/v7/src/compiler/machines/mips/compiler.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: compiler.pkg,v 1.10 1992/11/06 23:15:01 cph Exp $ +$Id: compiler.pkg,v 1.11 1992/11/14 17:23:44 gjr Exp $ Copyright (c) 1988-1992 Massachusetts Institute of Technology @@ -169,6 +169,8 @@ MIT in each case. |# compiler:reset! cross-compile-bin-file cross-compile-bin-file-end) + (export (compiler) + canonicalize-label-name) (export (compiler fg-generator) compile-recursively) (export (compiler rtl-generator) diff --git a/v7/src/compiler/machines/spectrum/compiler.pkg b/v7/src/compiler/machines/spectrum/compiler.pkg index b91a0346f..d5e7ff785 100644 --- a/v7/src/compiler/machines/spectrum/compiler.pkg +++ b/v7/src/compiler/machines/spectrum/compiler.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: compiler.pkg,v 1.38 1992/10/19 19:15:35 jinx Exp $ +$Id: compiler.pkg,v 1.39 1992/11/14 17:21:08 gjr Exp $ Copyright (c) 1988-1992 Massachusetts Institute of Technology @@ -169,6 +169,8 @@ MIT in each case. |# compiler:reset! cross-compile-bin-file cross-compile-bin-file-end) + (export (compiler) + canonicalize-label-name) (export (compiler fg-generator) compile-recursively) (export (compiler rtl-generator) diff --git a/v7/src/compiler/machines/vax/compiler.pkg b/v7/src/compiler/machines/vax/compiler.pkg index 268cd3ed3..477acdb9d 100644 --- a/v7/src/compiler/machines/vax/compiler.pkg +++ b/v7/src/compiler/machines/vax/compiler.pkg @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: compiler.pkg,v 1.13 1992/10/19 20:14:08 jinx Exp $ +$Id: compiler.pkg,v 1.14 1992/11/14 17:24:05 gjr Exp $ Copyright (c) 1988-1992 Massachusetts Institute of Technology @@ -164,6 +164,8 @@ MIT in each case. |# compiler:reset! cross-compile-bin-file cross-compile-bin-file-end) + (export (compiler) + canonicalize-label-name) (export (compiler fg-generator) compile-recursively) (export (compiler rtl-generator)