Download ALisp v2 User's Guide

Transcript
6.2.
6.3.
6.4.
Raising errors ................................................................................................................ 41
User interrupts............................................................................................................... 42
Error management functions......................................................................................... 42
7.
Lisp Debugging................................................................................................................. 43
7.1.
The break loop .............................................................................................................. 43
7.2.
Breaking functions ........................................................................................................ 45
7.2.1.
Conditional break points ....................................................................................... 46
7.3.
Tracing functions .......................................................................................................... 46
7.4.
Profiling ........................................................................................................................ 47
7.4.1.
The Statistical Profiler .......................................................................................... 47
7.4.2.
The Wrapping Profiler .......................................................................................... 48
7.5.
System functions for debugging ................................................................................... 49
8.
Code search and analysis .................................................................................................. 51
8.1.
Emacs subsystem .......................................................................................................... 51
8.2.
Finding source code ...................................................................................................... 51
8.3.
Code verification........................................................................................................... 53
9.
The Storage Manager........................................................................................................ 54
9.1.
Handles ......................................................................................................................... 54
9.2.
Physical Objects............................................................................................................ 54
9.3.
Logical Data Objects..................................................................................................... 55
9.4.
Dereferencing................................................................................................................ 55
9.5.
Assigning handles to locations...................................................................................... 56
9.6.
Allocating physical objects. .......................................................................................... 57
9.7.
Storage types................................................................................................................. 59
9.8.
Streams.......................................................................................................................... 60
9.8.1.
Marshalling objects............................................................................................... 61
10.
Interfacing Lisp with C ..................................................................................................... 62
10.1.
Calling C from Lisp .................................................................................................. 62
10.1.1. Defining external Lisp functions in C................................................................... 63
10.1.2. Variable arity external Lisp functions................................................................... 65
10.1.3. Defining special forms.......................................................................................... 66
10.2.
Error management in C............................................................................................. 67
10.2.1. Unwind Protection ................................................................................................ 67
10.2.2. Raising errors. ....................................................................................................... 68
10.3.
Calling Lisp from C .................................................................................................. 69
10.3.1. Direct C calls......................................................................................................... 70
10.4.
C functions for debugging ........................................................................................ 71
10.5.
Interrupt handling...................................................................................................... 72
3