annotate lisp/ilisp/ilisp-s2c.el @ 119:d101af7320b8

Added tag r20-1b11 for changeset 7d55a9ba150c
author cvs
date Mon, 13 Aug 2007 09:24:19 +0200
parents b82b59fe008d
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
1 ;;; -*- Mode: Emacs-Lisp -*-
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
2
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
3 ;;; ilisp-s2c.el --
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
4
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
5 ;;; This file is part of ILISP.
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
6 ;;; Version: 5.8
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
7 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
8 ;;; Copyright (C) 1990, 1991, 1992, 1993 Chris McConnell
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
9 ;;; 1993, 1994 Ivan Vasquez
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
10 ;;; 1994, 1995, 1996 Marco Antoniotti and Rick Busdiecker
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
11 ;;; 1996 Marco Antoniotti and Rick Campbell
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
12 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
13 ;;; Other authors' names for which this Copyright notice also holds
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
14 ;;; may appear later in this file.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
15 ;;;
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
16 ;;; Send mail to 'ilisp-request@naggum.no' to be included in the
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
17 ;;; ILISP mailing list. 'ilisp@naggum.no' is the general ILISP
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
18 ;;; mailing list were bugs and improvements are discussed.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
19 ;;;
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
20 ;;; ILISP is freely redistributable under the terms found in the file
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
21 ;;; COPYING.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
22
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
23
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
24 ;From: Jeffrey Mark Siskind <qobi@cs.toronto.edu>
4
b82b59fe008d Import from CVS: tag r19-15b3
cvs
parents: 0
diff changeset
25 ;To: ilisp@naggum.no
0
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
26 ;Subject: ILisp 5.5 and Scheme->C
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
27 ;Reply-To: Qobi@cs.toronto.edu
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
28 ;Date: Thu, 15 Dec 1994 22:55:05 -0500
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
29
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
30 ;Is anybody using ILisp 5.5 with Scheme->C? I don't know much about the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
31 ;internals of ILisp and have created a defdialect by analogy with the other
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
32 ;defdialect forms.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
33
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
34 (defdialect qsci "Qobi Scheme->C" scheme
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
35 (setq comint-fix-error ":X"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
36 ilisp-reset ":A"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
37 comint-continue ":C"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
38 comint-interrupt-regexp ">>Interrupt:"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
39 ilisp-eval-command
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
40 "(begin (eval (read (open-input-string \"%s\"))) \"%s\" \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
41 ilisp-package-command "%s" ;needs work
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
42 ilisp-block-command "(begin %s)"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
43 ilisp-load-command "(loadq \"%s\")"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
44 ilisp-load-or-send-command "(begin \"%s\" (ld \"%s\"))"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
45 ild-abort-string ":A"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
46 ild-continue-string ":C"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
47 ild-next-string ":N"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
48 ild-previous-string ":P"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
49 ild-top-string ":<"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
50 ild-bottom-string ":>"
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
51 ild-backtrace-string ":B")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
52 (ilisp-load-init 'qsci "/u/qobi/emacs/qsci"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
53
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
54 (cond ((or (equal (system-name) "qobi.ai")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
55 (equal (system-name) "dvp.cs")
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
56 (equal (system-name) "qew.cs"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
57 (setq qsci-program "/u/qobi/bin/sun4/5.3/qsci"))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
58 (t (setq qsci-program "/u/qobi/bin/sun4/4.1.2/qsci")))
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
59
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
60 ;The strange thing is that sometimes it works and sometimes it doesn't. And I
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
61 ;am having difficulty figuring out what I am doing wrong. I should mention that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
62 ;I am using a customized version of Scheme->C (qsci) that has my own debugger
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
63 ;instead of the default one. My debugger provides Lucid-like commands for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
64 ;moving up and down the stack, displaying backtraces and locals, aborting,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
65 ;continuing, etc. I will give any interested party a copy of my enhancements to
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
66 ;Scheme->C. I also use the debugger with ILD, my extension to ILisp 5.5 that
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
67 ;provides a uniform set of single keystroke commands for accessing the
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
68 ;different CommonLisp/Scheme debuggers. That explains the ild-* bindings above.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
69
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
70 ;Here are my questions: What are the appropriate values for comint-fix-error,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
71 ;ilisp-reset, comint-continue, comint-interrupt-regexp, ilisp-eval-command,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
72 ;ilsip-package-command, ilisp-block-command, ilisp-load-command,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
73 ;and ilisp-load-or-send-command. What exactly should these control strings do?
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
74 ;What % arguments do they take. The minimum functionality I would like to have
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
75 ;is the ILisp commands c-z l and c-z e. Later on I would like to add c-z a,
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
76 ;m-TAB, and m-. but I realize that I'll need to add hooks in Scheme->C for
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
77 ;these. I would ideally like to modify c-z D and c-z A to look things
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
78 ;up in R4RS.
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
79
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
80 ; Jeff (home page http://www.cdf.toronto.edu/DCS/Personal/Siskind.html)
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
81
376386a54a3c Import from CVS: tag r19-14
cvs
parents:
diff changeset
82 ;;; end of file -- ilisp-scc.el --