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