summaryrefslogtreecommitdiff
path: root/legacy/bigloo/debug.sch
diff options
context:
space:
mode:
authorLudovic Courtes2005-10-31 16:16:54 +0000
committerLudovic Courtes2005-10-31 16:16:54 +0000
commit89a424521b753ee7c2c67ebdc957865657f647c4 (patch)
tree7d15f69ef9aa87cd6e89153d34240baa031177c2 /legacy/bigloo/debug.sch
parentfe831fd1e716de64a1b92beeabe4d865546dd986 (diff)
downloadskribilo-89a424521b753ee7c2c67ebdc957865657f647c4.tar.gz
skribilo-89a424521b753ee7c2c67ebdc957865657f647c4.tar.lz
skribilo-89a424521b753ee7c2c67ebdc957865657f647c4.zip
Moved the STkLos and Bigloo code to `legacy'.
Moved the STkLos and Bigloo code from `src' to `legacy'. git-archimport-id: lcourtes@laas.fr--2005-mobile/skribilo--devel--1.2--patch-9
Diffstat (limited to 'legacy/bigloo/debug.sch')
-rw-r--r--legacy/bigloo/debug.sch54
1 files changed, 54 insertions, 0 deletions
diff --git a/legacy/bigloo/debug.sch b/legacy/bigloo/debug.sch
new file mode 100644
index 0000000..9b53c84
--- /dev/null
+++ b/legacy/bigloo/debug.sch
@@ -0,0 +1,54 @@
+;*=====================================================================*/
+;* serrano/prgm/project/skribe/src/bigloo/debug.sch */
+;* ------------------------------------------------------------- */
+;* Author : Manuel Serrano */
+;* Creation : Thu May 29 06:46:33 2003 */
+;* Last change : Tue Nov 2 14:31:45 2004 (serrano) */
+;* Copyright : 2003-04 Manuel Serrano */
+;* ------------------------------------------------------------- */
+;* Simple debug facilities */
+;*=====================================================================*/
+
+;*---------------------------------------------------------------------*/
+;* directives */
+;*---------------------------------------------------------------------*/
+(directives
+ (import skribe_debug))
+
+;*---------------------------------------------------------------------*/
+;* when-debug ... */
+;*---------------------------------------------------------------------*/
+(define-macro (when-debug level . exp)
+ (if (and (number? *compiler-debug*) (> *compiler-debug* 0))
+ `(if (>= *skribe-debug* ,level) (begin ,@exp))
+ #unspecified))
+
+;*---------------------------------------------------------------------*/
+;* with-debug ... */
+;*---------------------------------------------------------------------*/
+(define-macro (with-debug level lbl . arg*)
+ (if (and (number? *compiler-debug*) (> *compiler-debug* 0))
+ `(%with-debug ,level ,lbl (lambda () (begin ,@arg*)))
+ `(begin ,@arg*)))
+
+;*---------------------------------------------------------------------*/
+;* with-push-trace ... */
+;*---------------------------------------------------------------------*/
+(define-macro (with-push-trace lbl . arg*)
+ (if (and (number? *compiler-debug*) (> *compiler-debug* 0))
+ (let ((r (gensym)))
+ `(let ()
+ (c-push-trace ,lbl)
+ (let ((,r ,@arg*))
+ (c-pop-trace)
+ ,r)))
+ `(begin ,@arg*)))
+
+;*---------------------------------------------------------------------*/
+;* debug-item ... */
+;*---------------------------------------------------------------------*/
+(define-expander debug-item
+ (lambda (x e)
+ (if (and (number? *compiler-debug*) (> *compiler-debug* 0))
+ `(debug-item ,@(map (lambda (x) (e x e)) (cdr x)))
+ #unspecified)))