%!PS-Adobe-3.0
%%Creator: Windows PSCRIPT
%%Title: PowerPoint - TCLC.PPT
%%BoundingBox: 14 9 597 784
%%DocumentNeededResources: (atend)
%%DocumentSuppliedResources: (atend)
%%Pages: (atend)
%%BeginResource: procset Win35Dict 3 1
/Win35Dict 290 dict def Win35Dict begin/bd{bind def}bind def/in{72
mul}bd/ed{exch def}bd/ld{load def}bd/tr/translate ld/gs/gsave ld/gr
/grestore ld/M/moveto ld/L/lineto ld/rmt/rmoveto ld/rlt/rlineto ld
/rct/rcurveto ld/st/stroke ld/n/newpath ld/sm/setmatrix ld/cm/currentmatrix
ld/cp/closepath ld/ARC/arcn ld/TR{65536 div}bd/lj/setlinejoin ld/lc
/setlinecap ld/ml/setmiterlimit ld/sl/setlinewidth ld/scignore false
def/sc{scignore{pop pop pop}{0 index 2 index eq 2 index 4 index eq
and{pop pop 255 div setgray}{3{255 div 3 1 roll}repeat setrgbcolor}ifelse}ifelse}bd
/FC{bR bG bB sc}bd/fC{/bB ed/bG ed/bR ed}bd/HC{hR hG hB sc}bd/hC{
/hB ed/hG ed/hR ed}bd/PC{pR pG pB sc}bd/pC{/pB ed/pG ed/pR ed}bd/sM
matrix def/PenW 1 def/iPen 5 def/mxF matrix def/mxE matrix def/mxUE
matrix def/mxUF matrix def/fBE false def/iDevRes 72 0 matrix defaultmatrix
dtransform dup mul exch dup mul add sqrt def/fPP false def/SS{fPP{
/SV save def}{gs}ifelse}bd/RS{fPP{SV restore}{gr}ifelse}bd/EJ{gsave
showpage grestore}bd/#C{userdict begin/#copies ed end}bd/FEbuf 2 string
def/FEglyph(G  )def/FE{1 exch{dup 16 FEbuf cvrs FEglyph exch 1 exch
putinterval 1 index exch FEglyph cvn put}for}bd/SM{/iRes ed/cyP ed
/cxPg ed/cyM ed/cxM ed 72 100 div dup scale dup 0 ne{90 eq{cyM exch
0 eq{cxM exch tr -90 rotate -1 1 scale}{cxM cxPg add exch tr +90 rotate}ifelse}{cyP
cyM sub exch 0 ne{cxM exch tr -90 rotate}{cxM cxPg add exch tr -90
rotate 1 -1 scale}ifelse}ifelse}{pop cyP cyM sub exch 0 ne{cxM cxPg
add exch tr 180 rotate}{cxM exch tr 1 -1 scale}ifelse}ifelse 100 iRes
div dup scale 0 0 transform .25 add round .25 sub exch .25 add round
.25 sub exch itransform translate}bd/SJ{1 index 0 eq{pop pop/fBE false
def}{1 index/Break ed div/dxBreak ed/fBE true def}ifelse}bd/ANSIVec[
16#0/grave 16#1/acute 16#2/circumflex 16#3/tilde 16#4/macron 16#5/breve
16#6/dotaccent 16#7/dieresis 16#8/ring 16#9/cedilla 16#A/hungarumlaut
16#B/ogonek 16#C/caron 16#D/dotlessi 16#27/quotesingle 16#60/grave
16#7C/bar 16#82/quotesinglbase 16#83/florin 16#84/quotedblbase 16#85
/ellipsis 16#86/dagger 16#87/daggerdbl 16#88/circumflex 16#89/perthousand
16#8A/Scaron 16#8B/guilsinglleft 16#8C/OE 16#91/quoteleft 16#92/quoteright
16#93/quotedblleft 16#94/quotedblright 16#95/bullet 16#96/endash 16#97
/emdash 16#98/tilde 16#99/trademark 16#9A/scaron 16#9B/guilsinglright
16#9C/oe 16#9F/Ydieresis 16#A0/space 16#A1/exclamdown 16#A4/currency
16#A5/yen 16#A6/brokenbar 16#A7/section 16#A8/dieresis 16#A9/copyright
16#AA/ordfeminine 16#AB/guillemotleft 16#AC/logicalnot 16#AD/hyphen
16#AE/registered 16#AF/macron 16#B0/degree 16#B1/plusminus 16#B2/twosuperior
16#B3/threesuperior 16#B4/acute 16#B5/mu 16#B6/paragraph 16#B7/periodcentered
16#B8/cedilla 16#B9/onesuperior 16#BA/ordmasculine 16#BB/guillemotright
16#BC/onequarter 16#BD/onehalf 16#BE/threequarters 16#BF/questiondown
16#C0/Agrave 16#C1/Aacute 16#C2/Acircumflex 16#C3/Atilde 16#C4/Adieresis
16#C5/Aring 16#C6/AE 16#C7/Ccedilla 16#C8/Egrave 16#C9/Eacute 16#CA
/Ecircumflex 16#CB/Edieresis 16#CC/Igrave 16#CD/Iacute 16#CE/Icircumflex
16#CF/Idieresis 16#D0/Eth 16#D1/Ntilde 16#D2/Ograve 16#D3/Oacute 16#D4
/Ocircumflex 16#D5/Otilde 16#D6/Odieresis 16#D7/multiply 16#D8/Oslash
16#D9/Ugrave 16#DA/Uacute 16#DB/Ucircumflex 16#DC/Udieresis 16#DD/Yacute
16#DE/Thorn 16#DF/germandbls 16#E0/agrave 16#E1/aacute 16#E2/acircumflex
16#E3/atilde 16#E4/adieresis 16#E5/aring 16#E6/ae 16#E7/ccedilla 16#E8
/egrave 16#E9/eacute 16#EA/ecircumflex 16#EB/edieresis 16#EC/igrave
16#ED/iacute 16#EE/icircumflex 16#EF/idieresis 16#F0/eth 16#F1/ntilde
16#F2/ograve 16#F3/oacute 16#F4/ocircumflex 16#F5/otilde 16#F6/odieresis
16#F7/divide 16#F8/oslash 16#F9/ugrave 16#FA/uacute 16#FB/ucircumflex
16#FC/udieresis 16#FD/yacute 16#FE/thorn 16#FF/ydieresis ] def/reencdict
12 dict def/IsChar{basefontdict/CharStrings get exch known}bd/MapCh{dup
IsChar not{pop/bullet}if newfont/Encoding get 3 1 roll put}bd/MapDegree{16#b0
/degree IsChar{/degree}{/ring}ifelse MapCh}bd/MapBB{16#a6/brokenbar
IsChar{/brokenbar}{/bar}ifelse MapCh}bd/ANSIFont{reencdict begin/newfontname
ed/basefontname ed FontDirectory newfontname known not{/basefontdict
basefontname findfont def/newfont basefontdict maxlength dict def basefontdict{exch
dup/FID ne{dup/Encoding eq{exch dup length array copy newfont 3 1 roll
put}{exch newfont 3 1 roll put}ifelse}{pop pop}ifelse}forall newfont
/FontName newfontname put 127 1 159{newfont/Encoding get exch/bullet
put}for ANSIVec aload pop ANSIVec length 2 idiv{MapCh}repeat MapDegree
MapBB newfontname newfont definefont pop}if newfontname end}bd/SB{FC
/ULlen ed/str ed str length fBE not{dup 1 gt{1 sub}if}if/cbStr ed
/dxGdi ed/y0 ed/x0 ed str stringwidth dup 0 ne{/y1 ed/x1 ed y1 y1
mul x1 x1 mul add sqrt dxGdi exch div 1 sub dup x1 mul cbStr div exch
y1 mul cbStr div}{exch abs neg dxGdi add cbStr div exch}ifelse/dyExtra
ed/dxExtra ed x0 y0 M fBE{dxBreak 0 BCh dxExtra dyExtra str awidthshow}{dxExtra
dyExtra str ashow}ifelse fUL{x0 y0 M dxUL dyUL rmt ULlen fBE{Break
add}if 0 mxUE transform gs rlt cyUL sl [] 0 setdash st gr}if fSO{x0
y0 M dxSO dySO rmt ULlen fBE{Break add}if 0 mxUE transform gs rlt cyUL
sl [] 0 setdash st gr}if n/fBE false def}bd/font{/name ed/Ascent ed
0 ne/fT3 ed 0 ne/fSO ed 0 ne/fUL ed/Sy ed/Sx ed 10.0 div/ori ed -10.0
div/esc ed/BCh ed name findfont/xAscent 0 def/yAscent Ascent def/ULesc
esc def ULesc mxUE rotate pop fT3{/esc 0 def xAscent yAscent mxUE transform
/yAscent ed/xAscent ed}if [Sx 0 0 Sy neg xAscent yAscent] esc mxE
rotate mxF concatmatrix makefont setfont [Sx 0 0 Sy neg 0 Ascent] mxUE
mxUF concatmatrix pop fUL{currentfont dup/FontInfo get/UnderlinePosition
known not{pop/Courier findfont}if/FontInfo get/UnderlinePosition get
1000 div 0 exch mxUF transform/dyUL ed/dxUL ed}if fSO{0 .3 mxUF transform
/dySO ed/dxSO ed}if fUL fSO or{currentfont dup/FontInfo get/UnderlineThickness
known not{pop/Courier findfont}if/FontInfo get/UnderlineThickness get
1000 div Sy mul/cyUL ed}if}bd/min{2 copy gt{exch}if pop}bd/max{2 copy
lt{exch}if pop}bd/CP{/ft ed{{ft 0 eq{clip}{eoclip}ifelse}stopped{currentflat
1 add setflat}{exit}ifelse}loop}bd/patfont 10 dict def patfont begin
/FontType 3 def/FontMatrix [1 0 0 -1 0 0] def/FontBBox [0 0 16 16]
def/Encoding StandardEncoding def/BuildChar{pop pop 16 0 0 0 16 16
setcachedevice 16 16 false [1 0 0 1 .25 .25]{pat}imagemask}bd end/p{
/pat 32 string def{}forall 0 1 7{dup 2 mul pat exch 3 index put dup
2 mul 1 add pat exch 3 index put dup 2 mul 16 add pat exch 3 index
put 2 mul 17 add pat exch 2 index put pop}for}bd/pfill{/PatFont patfont
definefont setfont/ch(AAAA)def X0 64 X1{Y1 -16 Y0{1 index exch M ch
show}for pop}for}bd/vert{X0 w X1{dup Y0 M Y1 L st}for}bd/horz{Y0 w
Y1{dup X0 exch M X1 exch L st}for}bd/fdiag{X0 w X1{Y0 M X1 X0 sub dup
rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup rlt st}for}bd/bdiag{X0 w
X1{Y1 M X1 X0 sub dup neg rlt st}for Y0 w Y1{X0 exch M Y1 Y0 sub dup
neg rlt st}for}bd/AU{1 add cvi 15 or}bd/AD{1 sub cvi -16 and}bd/SHR{pathbbox
AU/Y1 ed AU/X1 ed AD/Y0 ed AD/X0 ed}bd/hfill{/w iRes 37.5 div round
def 0.1 sl [] 0 setdash n dup 0 eq{horz}if dup 1 eq{vert}if dup 2 eq{fdiag}if
dup 3 eq{bdiag}if dup 4 eq{horz vert}if 5 eq{fdiag bdiag}if}bd/F{/ft
ed fm 256 and 0 ne{gs FC ft 0 eq{fill}{eofill}ifelse gr}if fm 1536
and 0 ne{SHR gs HC ft CP fm 1024 and 0 ne{/Tmp save def pfill Tmp restore}{fm
15 and hfill}ifelse gr}if}bd/S{PenW sl PC st}bd/m matrix def/GW{iRes
12 div PenW add cvi}bd/DoW{iRes 50 div PenW add cvi}bd/DW{iRes 8 div
PenW add cvi}bd/SP{/PenW ed/iPen ed iPen 0 eq iPen 6 eq or{[] 0 setdash}if
iPen 1 eq{[DW GW] 0 setdash}if iPen 2 eq{[DoW GW] 0 setdash}if iPen
3 eq{[DW GW DoW GW] 0 setdash}if iPen 4 eq{[DW GW DoW GW DoW GW] 0
setdash}if}bd/E{m cm pop tr scale 1 0 moveto 0 0 1 0 360 arc cp m sm}bd
/AG{/sy ed/sx ed sx div 4 1 roll sy div 4 1 roll sx div 4 1 roll sy
div 4 1 roll atan/a2 ed atan/a1 ed sx sy scale a1 a2 ARC}def/A{m cm
pop tr AG m sm}def/P{m cm pop tr 0 0 M AG cp m sm}def/RRect{n 4 copy
M 3 1 roll exch L 4 2 roll L L cp}bd/RRCC{/r ed/y1 ed/x1 ed/y0 ed/x0
ed x0 x1 add 2 div y0 M x1 y0 x1 y1 r arcto 4{pop}repeat x1 y1 x0 y1
r arcto 4{pop}repeat x0 y1 x0 y0 r arcto 4{pop}repeat x0 y0 x1 y0 r
arcto 4{pop}repeat cp}bd/RR{2 copy 0 eq exch 0 eq or{pop pop RRect}{2
copy eq{pop RRCC}{m cm pop/y2 ed/x2 ed/ys y2 x2 div 1 max def/xs x2
y2 div 1 max def/y1 exch ys div def/x1 exch xs div def/y0 exch ys div
def/x0 exch xs div def/r2 x2 y2 min def xs ys scale x0 x1 add 2 div
y0 M x1 y0 x1 y1 r2 arcto 4{pop}repeat x1 y1 x0 y1 r2 arcto 4{pop}repeat
x0 y1 x0 y0 r2 arcto 4{pop}repeat x0 y0 x1 y0 r2 arcto 4{pop}repeat
m sm cp}ifelse}ifelse}bd/PP{{rlt}repeat}bd/OB{gs 0 ne{7 3 roll/y ed
/x ed x y translate ULesc rotate x neg y neg translate x y 7 -3 roll}if
sc B fill gr}bd/B{M/dy ed/dx ed dx 0 rlt 0 dy rlt dx neg 0 rlt cp}bd
/CB{B clip n}bd/ErrHandler{errordict dup maxlength exch length gt
dup{errordict begin}if/errhelpdict 12 dict def errhelpdict begin/stackunderflow(operand stack underflow)def
/undefined(this name is not defined in a dictionary)def/VMerror(you have used up all the printer's memory)def
/typecheck(operator was expecting a different type of operand)def
/ioerror(input/output error occured)def end{end}if errordict begin
/handleerror{$error begin newerror{/newerror false def showpage 72
72 scale/x .25 def/y 9.6 def/Helvetica findfont .2 scalefont setfont
x y moveto(Offending Command = )show/command load{dup type/stringtype
ne{(max err string)cvs}if show}exec/y y .2 sub def x y moveto(Error = )show
errorname{dup type dup( max err string )cvs show( : )show/stringtype
ne{( max err string )cvs}if show}exec errordict begin errhelpdict errorname
known{x 1 add y .2 sub moveto errhelpdict errorname get show}if end
/y y .4 sub def x y moveto(Stack =)show ostack{/y y .2 sub def x 1
add y moveto dup type/stringtype ne{( max err string )cvs}if show}forall
showpage}if end}def end}bd end
%%EndResource
/SVDoc save def
%%EndProlog
%%BeginSetup
Win35Dict begin
ErrHandler
statusdict begin 0 setjobtimeout end
statusdict begin statusdict /jobname (PowerPoint - TCLC.PPT) put end
/oldDictCnt countdictstack def {}stopped 
{ countdictstack oldDictCnt lt { Win35Dict begin } 
{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if 
/oldDictCnt countdictstack def {letter
}stopped 
{ countdictstack oldDictCnt lt { Win35Dict begin } 
{1 1 countdictstack oldDictCnt sub {pop end } for } ifelse } if 
[{ }
/exec load currenttransfer /exec load] cvx settransfer
%%EndSetup
%%Page: 1 1
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
5 4 SJ
624 697 1174 (Writing Tcl-Based Applications In C) 1174 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
1038 906 363 (John Ousterhout) 363 SB
gr
gs 1500 1125 463 400 CB
3 2 SJ
879 996 677 (Sun Microsystems Laboratories) 677 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
882 1084 675 (john.ousterhout@eng.sun.com) 675 SB
gr
32 0 0 38 38 0 0 0 36 /Times-BoldItalic /font30 ANSIFont font
gs 1500 1125 463 400 CB
-9 3 SJ
1033 1332 382 (Tcl/Tk Tutorial, Part IV) 382 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1477 2699 321 (December 12, 1995, slide 2) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
566 1793 240 (Outline) 240 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1965 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 3 SJ
622 1949 454 (Philosophy: focus on ) 454 SB
gr
gs 1500 1125 463 1705 CB
1077 1949 215 (primitives) 215 SB
gr
gs 1500 1125 463 1705 CB
1292 1949 13 (.) 13 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2066 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
3 3 SJ
622 2050 809 (Basics: interpreters, executing scripts.) 809 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2168 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
2 2 SJ
622 2152 652 (Implementing new commands.) 652 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2270 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 2254 821 (Managing packages; dynamic loading.) 821 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2372 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 2356 581 (Managing the result string.) 581 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2474 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
8 5 SJ
622 2458 1072 (Useful library procedures: parsing, variables, lists,) 1072 SB
gr
gs 1500 1125 463 1705 CB
622 2518 250 (hash tables.) 250 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-BoldItalic
%%+ font Times-Italic
%%+ font ZapfDingbats
%%Page: 2 2
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1477 1394 321 (December 12, 1995, slide 3) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
566 488 352 (Philosophy) 352 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 635 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
2 8 SJ
622 619 998 (Usually better to write Tcl scripts than C code:) 998 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 679 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
15 5 SJ
688 679 1000 (Faster development \(higher level, no compilation\).) 1000 SB
gr
gs 1500 1125 463 400 CB
641 739 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
8 1 SJ
688 739 278 (More flexible.) 278 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 838 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 822 300 (Why write C?) 300 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 883 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
12 5 SJ
688 883 899 (Need access to low-level facilities \(sockets?\).) 899 SB
gr
gs 1500 1125 463 400 CB
641 943 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
18 3 SJ
688 943 854 (Efficiency concerns \(iterative calculations\).) 854 SB
gr
gs 1500 1125 463 400 CB
641 1003 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
1 5 SJ
688 1003 790 (Need more structure \(code is complex\).) 790 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 1102 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
4 8 SJ
622 1086 1204 (Implement new Tcl commands that provide a few simple) 1204 SB
gr
gs 1500 1125 463 400 CB
2 1 SJ
622 1146 245 (orthogonal ) 245 SB
gr
gs 1500 1125 463 400 CB
869 1146 215 (primitives) 215 SB
gr
gs 1500 1125 463 400 CB
1084 1146 17 (:) 17 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 1207 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
11 8 SJ
688 1207 1190 (Low-level to provide independent access to all key features.) 1190 SB
gr
gs 1500 1125 463 400 CB
641 1266 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
22 6 SJ
688 1266 1057 (High-level to hide unimportant details, allow efficient) 1057 SB
gr
gs 1500 1125 463 400 CB
688 1326 318 (implementation.) 318 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1477 2699 321 (December 12, 1995, slide 4) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
7 2 SJ
566 1793 872 (Example: Weather Reports) 872 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1927 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
12 7 SJ
622 1911 1232 (Goal: retrieve weather reports over network from servers.) 1232 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2017 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 3 SJ
622 2001 442 (Tcl command set #1:) 442 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2062 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
688 2062 642 (Retrieve report, format, print on) 642 SB
gr
gs 1500 1125 463 1705 CB
-4 1 SJ
688 2122 326 (standard output.) 326 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2227 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 3 SJ
622 2211 442 (Tcl command set #2:) 442 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2271 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
688 2271 621 (Open socket to weather server.) 621 SB
gr
gs 1500 1125 463 1705 CB
641 2331 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
688 2331 280 (Select station.) 280 SB
gr
gs 1500 1125 463 1705 CB
641 2391 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
4 4 SJ
688 2391 582 (Retrieve first line of report....) 582 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2496 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 3 SJ
622 2480 442 (Tcl command set #3:) 442 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2541 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
11 4 SJ
688 2541 624 (Return list of available stations.) 624 SB
gr
gs 1500 1125 463 1705 CB
641 2601 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
4 4 SJ
688 2601 707 (Given station name, retrieve report.) 707 SB
gr
6 4 SP
0 0 1 1 14 -10 0 12 9 1414 2078 A
S
n
0 0 1 12 0 1 14 12 9 1414 2171 A
S
n
0 0 1 -11 0 0 -14 12 9 1439 2134 A
S
n
gs 1500 41 463 2133 CB
1425 2096 M 0 111 1 PP
S
n
gr
gs 1500 41 463 2077 CB
1425 2040 M 0 111 1 PP
S
n
gr
0 0 1 0 -14 11 0 12 9 1439 2115 A
S
n
0 0 1 0 14 -16 0 12 14 1414 2296 A
S
n
0 0 1 16 0 0 14 12 14 1414 2441 A
S
n
0 0 1 -16 0 0 -14 12 14 1439 2383 A
S
n
gs 1500 62 463 2382 CB
1425 2324 M 0 174 1 PP
S
n
gr
gs 1500 62 463 2294 CB
1425 2236 M 0 174 1 PP
S
n
gr
0 0 1 0 -14 16 0 12 14 1439 2354 A
S
n
0 0 1 0 14 -11 0 12 9 1414 2552 A
S
n
0 0 1 11 0 0 14 12 9 1414 2646 A
S
n
0 0 1 -10 0 1 -14 12 9 1439 2608 A
S
n
gs 1500 42 463 2607 CB
1425 2569 M 0 114 1 PP
S
n
gr
gs 1500 41 463 2551 CB
1425 2514 M 0 111 1 PP
S
n
gr
0 0 1 0 -14 11 0 12 9 1439 2590 A
S
n
32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
-2 2 SJ
1453 2099 447 (Too high-level \(inflexible\)) 447 SB
gr
gs 1500 1125 463 1705 CB
2 2 SJ
1453 2342 391 (Too low-level \(tedious\)) 391 SB
gr
gs 1500 1125 463 1705 CB
-4 1 SJ
1453 2574 158 (Just right) 158 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats
%%Page: 3 3
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1477 1394 321 (December 12, 1995, slide 5) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
7 2 SJ
566 488 856 (Designing New Commands) 856 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 635 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
2 4 SJ
622 619 717 (Choose textual names for objects:) 717 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
688 681 420 (.dlg.bottom.ok) 420 SB
gr
gs 1500 1125 463 400 CB
688 741 420 (file3 or stdin) 420 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 799 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
688 799 779 (Use hash tables to map to C structures.) 779 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 892 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 876 598 (Object-oriented commands:) 598 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
688 939 960 (.dlg.bottom.ok configure -fg red) 960 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 997 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
16 6 SJ
688 997 957 (Good for small numbers of well-defined objects.) 957 SB
gr
gs 1500 1125 463 400 CB
641 1057 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
5 3 SJ
688 1057 554 (Doesn't pollute name space.) 554 SB
gr
gs 1500 1125 463 400 CB
641 1117 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
21 5 SJ
688 1117 926 (Allows similar commands for different objects.) 926 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 1210 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
1 1 SJ
622 1194 595 (Action-oriented commands:) 595 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
688 1257 600 (string compare $x $y) 600 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 1314 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
9 6 SJ
688 1314 873 (Good if many objects or short-lived objects.) 873 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1477 2699 321 (December 12, 1995, slide 6) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
8 3 SJ
566 1793 1092 (Designing New Commands, cont'd) 1092 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1965 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
4 2 SJ
622 1949 635 (Formatting command results:) 635 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2009 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
5 7 SJ
688 2009 829 (Make them easy to parse with Tcl scripts:) 829 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
688 2071 1140 (tmp 53 hi 68 lo 37 precip .02 sky part) 1140 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2129 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
13 6 SJ
688 2129 958 (Make them symbolic wherever possible, e.g. not) 958 SB
gr
gs 1500 1125 463 1705 CB
688 2189 290 (53 68 37 .02 7) 290 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2294 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 1 SJ
622 2278 90 (Use ) 90 SB
gr
gs 1500 1125 463 1705 CB
1 2 SJ
712 2278 366 (package prefixes ) 366 SB
gr
gs 1500 1125 463 1705 CB
3 4 SJ
1080 2278 649 (in command names and global) 649 SB
gr
gs 1500 1125 463 1705 CB
622 2338 209 (variables:) 209 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
688 2401 390 (wthr_stations) 390 SB
gr
gs 1500 1125 463 1705 CB
688 2461 330 (wthr_report) 330 SB
gr
gs 1500 1125 463 1705 CB
688 2521 270 (midi_play) 270 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2579 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
9 6 SJ
688 2579 992 (Allows packages to coexist without name clashes.) 992 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats
%%Page: 4 4
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1477 1394 321 (December 12, 1995, slide 7) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
566 488 388 (Interpreters) 388 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 660 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
622 647 330 (Tcl_Interp ) 330 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
2 3 SJ
953 644 821 (structure encapsulates execution state:) 821 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 704 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
688 704 199 (Variables.) 199 SB
gr
gs 1500 1125 463 400 CB
641 764 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
14 3 SJ
688 764 597 (Commands implemented in C.) 597 SB
gr
gs 1500 1125 463 400 CB
641 824 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
688 824 311 (Tcl procedures.) 311 SB
gr
gs 1500 1125 463 400 CB
641 884 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
688 884 330 (Execution stack.) 330 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 989 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
1 7 SJ
622 973 1078 (Can have many interpreters in a single application) 1078 SB
gr
gs 1500 1125 463 400 CB
622 1033 466 (\(but usually just one\).) 466 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 1139 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
2 3 SJ
622 1123 746 (Creating and deleting interpreters:) 746 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
641 1186 570 (Tcl_Interp *interp;) 570 SB
gr
gs 1500 1125 463 400 CB
641 1246 840 (interp = Tcl_CreateInterp\(\);) 840 SB
gr
gs 1500 1125 463 400 CB
641 1305 750 (Tcl_DeleteInterp\(interp\);) 750 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1477 2699 321 (December 12, 1995, slide 8) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 2 SJ
566 1793 687 (Executing Tcl Scripts) 687 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
566 1952 270 (int code;) 270 SB
gr
gs 1500 1125 463 1705 CB
566 2011 1050 (code = Tcl_Eval\(interp, "set a 1"\);) 1050 SB
gr
gs 1500 1125 463 1705 CB
566 2071 1200 (code = Tcl_EvalFile\(interp, "init.tcl"\);) 1200 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2174 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
622 2161 120 (code) 120 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
3 4 SJ
742 2158 594 ( indicates success or failure:) 594 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2219 25 (\226) 25 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
688 2221 180 (TCL_OK) 180 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
6 2 SJ
868 2219 412 (: normal completion.) 412 SB
gr
gs 1500 1125 463 1705 CB
641 2279 25 (\226) 25 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
688 2281 270 (TCL_ERROR) 270 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
-4 2 SJ
958 2279 328 (: error occurred.) 328 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2384 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
622 2371 420 (interp->result) 420 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 1 SJ
1042 2368 13 ( ) 13 SB
gr
gs 1500 1125 463 1705 CB
3 5 SJ
1055 2368 655 (points to string: result or error) 655 SB
gr
gs 1500 1125 463 1705 CB
622 2428 186 (message.) 186 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2534 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
7 7 SJ
622 2518 1138 (Application should display result or message for user.) 1138 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats
%%Page: 5 5
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1477 1394 321 (December 12, 1995, slide 9) 321 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
9 4 SJ
566 488 1003 (Where Do Scripts Come From?) 1003 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 685 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 669 897 (Read from standard input \(see tclMain.c\).) 897 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 864 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
2 5 SJ
622 848 777 (Read from script file \(see tclMain.c\).) 777 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 1044 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 1028 1008 (Associate with X events, wait for events, invoke) 1008 SB
gr
gs 1500 1125 463 400 CB
622 1088 699 (associated scripts \(see tkMain.c\).) 699 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1463 2699 336 (December 12, 1995, slide 10) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
7 3 SJ
566 1793 945 (Creating New Tcl Commands) 945 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1940 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
2 4 SJ
622 1924 698 (Write command procedure in C:) 698 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
641 1987 1075 (int EqCmd\(ClientData clientData, Tcl_Interp) 1075 SB
gr
gs 1500 1125 463 1705 CB
641 2037 1025 (        *interp, int argc, char **argv\) {) 1025 SB
gr
gs 1500 1125 463 1705 CB
641 2087 500 (    if \(argc != 3\) {) 500 SB
gr
gs 1500 1125 463 1705 CB
641 2137 1000 (        interp->result = "wrong # args";) 1000 SB
gr
gs 1500 1125 463 1705 CB
641 2187 625 (        return TCL_ERROR;) 625 SB
gr
gs 1500 1125 463 1705 CB
641 2237 125 (    }) 125 SB
gr
gs 1500 1125 463 1705 CB
641 2287 1000 (    if \(strcmp\(argv[1], argv[2]\) == 0\) {) 1000 SB
gr
gs 1500 1125 463 1705 CB
641 2337 725 (        interp->result = "1";) 725 SB
gr
gs 1500 1125 463 1705 CB
641 2387 300 (    } else {) 300 SB
gr
gs 1500 1125 463 1705 CB
641 2437 725 (        interp->result = "0";) 725 SB
gr
gs 1500 1125 463 1705 CB
641 2487 125 (    }) 125 SB
gr
gs 1500 1125 463 1705 CB
641 2537 450 (    return TCL_OK;) 450 SB
gr
gs 1500 1125 463 1705 CB
641 2587 25 (}) 25 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font ZapfDingbats
%%Page: 6 6
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1463 1394 336 (December 12, 1995, slide 11) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
9 4 SJ
566 488 1181 (Creating New Tcl Commands, cont'd) 1181 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 710 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
3 2 SJ
622 694 547 (Register with interpreter:) 547 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
641 757 950 (Tcl_CreateCommand\(interp, "eq", EqCmd,) 950 SB
gr
gs 1500 1125 463 400 CB
641 807 800 (        \(ClientData\) NULL, ...\);) 800 SB
gr
gs 1500 1125 463 400 CB
641 857 800 (Tcl_DeleteCommand\(interp, "eq"\);) 800 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 1009 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
1 2 SJ
622 993 361 (Once registered, ) 361 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
984 996 150 (EqCmd) 150 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
3 5 SJ
1134 993 518 ( will be called whenever ) 518 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
1655 996 60 (eq) 60 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 1053 506 (command is invoked in ) 506 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
1128 1056 180 (interp) 180 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
1308 1053 13 (.) 13 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1463 2699 336 (December 12, 1995, slide 12) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
566 1793 348 (ClientData) 348 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
622 1935 950 (Tcl_CreateCommand\(interp, "eq", EqCmd,) 950 SB
gr
gs 1500 1125 463 1705 CB
622 1987 200 (        ) 200 SB
gr
gs 1500 1125 463 1705 CB
822 1987 250 (clientData) 250 SB
gr
gs 1500 1125 463 1705 CB
1072 1987 175 (, ...\);) 175 SB
gr
gs 1500 1125 463 1705 CB
622 2037 250 (int EqCmd\() 250 SB
gr
gs 1500 1125 463 1705 CB
872 2037 525 (ClientData clientData) 525 SB
gr
gs 1500 1125 463 1705 CB
1397 2037 300 (, ...\) {...}) 300 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2129 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 2113 974 (Used to pass any one-word value to command) 974 SB
gr
gs 1500 1125 463 1705 CB
4 3 SJ
622 2173 676 (procedures and other callbacks.) 676 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2279 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
622 2266 300 (clientData) 300 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 7 SJ
922 2263 787 ( is usually a pointer to data structure) 787 SB
gr
gs 1500 1125 463 1705 CB
1 2 SJ
622 2323 578 (manipulated by procedure.) 578 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2429 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 2413 583 (Cast pointers in and out of ) 583 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
1205 2416 300 (ClientData) 300 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1505 2413 122 ( type:) 122 SB
gr
32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2473 21 (\226) 21 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
688 2476 1100 (Tcl_CreateCommand\(... \(ClientData\) gizmoPtr,) 1100 SB
gr
gs 1500 1125 463 1705 CB
688 2526 325 (        ...\);) 325 SB
gr
32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2573 21 (\226) 21 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
688 2576 800 (gizmoPtr = \(Gizmo *\) clientData;) 800 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats
%%Page: 7 7
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1463 1394 336 (December 12, 1995, slide 13) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
7 2 SJ
566 488 843 (Conventions For Packages) 843 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
1 9 SJ
566 644 1127 (Goal: make it easy to develop and use Tcl extensions.) 1127 SB
gr
gs 1500 1125 463 400 CB
4 7 SJ
566 733 1060 (1. Use package prefixes to prevent name conflicts:) 1060 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 809 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
2 6 SJ
688 809 688 (Pick short prefix for package, e.g. ) 688 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
1378 811 90 (rdb) 90 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
1468 809 13 (.) 13 SB
gr
gs 1500 1125 463 400 CB
641 884 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
13 4 SJ
688 884 470 (Use in all global names:) 470 SB
gr
32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
716 944 21 (\273) 21 SB
gr
gs 1500 1125 463 400 CB
-2 2 SJ
754 944 229 (C procedure: ) 229 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
981 947 200 (Rdb_Open) 200 SB
gr
32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
716 994 21 (\273) 21 SB
gr
gs 1500 1125 463 400 CB
-2 2 SJ
754 994 197 (C variable: ) 197 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
949 997 350 (rdb_NumRecords) 350 SB
gr
32 0 0 42 42 0 0 0 38 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
716 1044 21 (\273) 21 SB
gr
gs 1500 1125 463 400 CB
-4 2 SJ
754 1044 256 (Tcl command: ) 256 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
1006 1047 225 (rdb_query) 225 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 1109 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
10 8 SJ
688 1109 1095 (See Tcl book and Tcl/Tk Engineering Manual for more) 1095 SB
gr
gs 1500 1125 463 400 CB
688 1169 140 (details.) 140 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1463 2699 336 (December 12, 1995, slide 14) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
4 1 SJ
566 1793 529 (Packages, cont'd) 529 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
2 4 SJ
566 1949 910 (2. Create package initialization procedure:) 910 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
642 2009 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
2 3 SJ
689 2009 449 (Named after package: ) 449 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
1140 2011 240 (Rdb_Init) 240 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
1380 2009 13 (.) 13 SB
gr
gs 1500 1125 463 1705 CB
642 2069 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
5 2 SJ
689 2069 591 (Creates package's commands.) 591 SB
gr
gs 1500 1125 463 1705 CB
642 2129 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
5 4 SJ
689 2129 614 (Evaluates startup script, if any.) 614 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
623 2217 850 (int Rdb_Init\(Tcl_Interp *interp\) {) 850 SB
gr
gs 1500 1125 463 1705 CB
623 2267 675 (    Tcl_CreateCommand\(...\);) 675 SB
gr
gs 1500 1125 463 1705 CB
623 2317 675 (    Tcl_CreateCommand\(...\);) 675 SB
gr
gs 1500 1125 463 1705 CB
623 2367 175 (    ...) 175 SB
gr
gs 1500 1125 463 1705 CB
623 2417 775 (    return Tcl_EvalFile\(interp,) 775 SB
gr
gs 1500 1125 463 1705 CB
623 2467 1075 (            "/usr/local/lib/rdb/init.tcl"\);) 1075 SB
gr
gs 1500 1125 463 1705 CB
623 2517 25 (}) 25 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%Page: 8 8
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1463 1394 336 (December 12, 1995, slide 15) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
4 1 SJ
566 488 529 (Packages, cont'd) 529 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
566 631 395 (3. To use package:) 395 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 731 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
12 6 SJ
688 731 828 (Compile as shared library, e.g. on Solaris:) 828 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
688 804 450 (cc -K pic -c rdb.c) 450 SB
gr
gs 1500 1125 463 400 CB
688 864 725 (ld -G -z text rdb.o -o rdb.so) 725 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 982 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
7 3 SJ
688 982 446 (Dynamically load into ) 446 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
1140 984 150 (tclsh) 150 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
4 2 SJ
1290 982 69 ( or ) 69 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
1363 984 120 (wish) 120 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
1483 982 14 (:) 14 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
688 1055 375 (load rdb.so Rdb) 375 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 1174 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
7 3 SJ
688 1174 244 (Tcl will call ) 244 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
940 1176 240 (Rdb_Init) 240 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
10 4 SJ
1180 1174 495 ( to initialize the package.) 495 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1463 2699 336 (December 12, 1995, slide 16) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 3 SJ
566 1793 909 (Managing The Result String) 909 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1965 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 1949 462 (Need conventions for ) 462 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
1084 1952 420 (interp->result) 420 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1504 1949 17 (:) 17 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
641 2009 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
8 4 SJ
688 2009 557 (Permit results of any length.) 557 SB
gr
gs 1500 1125 463 1705 CB
641 2069 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
3 1 SJ
688 2069 135 (Avoid ) 135 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
825 2071 180 (malloc) 180 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 1705 CB
8 3 SJ
1005 2069 439 ( overheads if possible.) 439 SB
gr
gs 1500 1125 463 1705 CB
641 2129 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
8 3 SJ
688 2129 733 (Avoid storage reclamation problems.) 733 SB
gr
gs 1500 1125 463 1705 CB
641 2189 25 (\226) 25 SB
gr
gs 1500 1125 463 1705 CB
11 4 SJ
688 2189 537 (Keep as simple as possible.) 537 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2294 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
4 6 SJ
622 2278 1130 (Normal state of interpreter \(e.g., whenever command) 1130 SB
gr
gs 1500 1125 463 1705 CB
1 2 SJ
622 2338 479 (procedure is invoked\):) 479 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2623 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
3 4 SJ
622 2607 862 (Default: command returns empty string.) 862 SB
gr
6 4 SP
252 254 185 fC
/fm 256 def
1265 2382 1663 2580 25 25 RR
1 F
S
n
0 lc
0 lj
255 255 255 fC
/fm 256 def
124 36 1502 2407 B
1 F
S
n
32 0 0 38 38 0 0 0 32 /Courier-Bold /font9 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
1291 2401 138 (result) 138 SB
gr
255 255 255 fC
/fm 256 def
273 36 1353 2531 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 1705 CB
1368 2528 46 ("") 46 SB
gr
255 255 255 fC
/fm 256 def
124 36 1502 2456 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 1705 CB
1291 2451 184 (freeProc) 184 SB
gr
1 lc
1 lj
gs 20 1125 1312 1705 CB
1274 2550 M 114 0 1 PP
S
n
gr
/fm 256 def
1350 2550 M 37 -11 0 23 -37 -12 3 PP
1 F
n
6 4 SP
0 0 1 0 14 -14 0 12 12 1626 2439 A
S
n
0 0 1 0 -14 14 0 12 12 1314 2539 A
S
n
0 0 1 -14 0 0 -14 12 12 1314 2526 A
S
n
gs 316 1125 1312 1705 CB
1000 2512 M 936 0 1 PP
S
n
gr
0 0 1 14 0 0 14 12 12 1626 2501 A
S
n
gs 1500 67 463 2437 CB
1637 2563 M 0 -189 1 PP
S
n
gr
gs 66 1125 1562 1705 CB
1500 2425 M 186 0 1 PP
S
n
gr
0 0 0 fC
/fm 256 def
6 6 1562 2426 E
1 F
S
n
gs 1500 16 463 2525 CB
1300 2513 M 0 36 1 PP
S
n
gr
gs 1500 1125 463 1705 CB
1013 2401 138 (interp) 138 SB
gr
gs 82 1125 1163 1705 CB
1063 2422 M 300 0 1 PP
S
n
gr
/fm 256 def
1263 2422 M 37 -11 0 23 -37 -12 3 PP
1 F
n
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats
%%Page: 9 9
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1463 1394 336 (December 12, 1995, slide 17) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
2 2 SJ
566 488 658 (Result String, cont'd) 658 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 660 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 644 639 (Option 1: \(semi-\) static result.) 639 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
641 707 525 (interp->result = "0";) 525 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 1039 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 1023 919 (Option 2: use pre-allocated space in interp.) 919 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
641 1086 1050 (sprintf\(interp->result, "Value is %d", i\);) 1050 SB
gr
6 4 SP
252 254 185 fC
/fm 256 def
1028 777 1426 976 25 25 RR
1 F
S
n
0 lc
0 lj
255 255 255 fC
/fm 256 def
124 37 1265 801 B
1 F
S
n
32 0 0 38 38 0 0 0 32 /Courier-Bold /font9 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
1053 796 138 (result) 138 SB
gr
255 255 255 fC
/fm 256 def
274 37 1115 926 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 400 CB
1131 923 46 ("") 46 SB
gr
255 255 255 fC
/fm 256 def
124 37 1265 851 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 400 CB
1053 846 184 (freeProc) 184 SB
gr
1 lc
1 lj
/fm 256 def
5 6 1325 820 E
1 F
S
n
gs 1500 1125 463 400 CB
776 796 138 (interp) 138 SB
gr
gs 82 1125 926 400 CB
826 817 M 300 0 1 PP
S
n
gr
/fm 256 def
1026 817 M 37 -11 0 23 -37 -12 3 PP
1 F
n
6 4 SP
252 254 185 fC
/fm 256 def
1028 1151 1426 1350 25 25 RR
1 F
S
n
0 lc
0 lj
255 255 255 fC
/fm 256 def
124 36 1265 1176 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 400 CB
1053 1171 138 (result) 138 SB
gr
255 255 255 fC
/fm 256 def
274 36 1115 1301 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 400 CB
1116 1298 276 ("Value is 2") 276 SB
gr
255 255 255 fC
/fm 256 def
124 36 1265 1226 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 400 CB
1053 1221 184 (freeProc) 184 SB
gr
1 lc
1 lj
gs 19 1125 1075 400 CB
1038 1320 M 111 0 1 PP
S
n
gr
/fm 256 def
1112 1320 M 37 -11 0 23 -37 -12 3 PP
1 F
n
6 4 SP
0 0 1 0 14 -14 0 12 12 1389 1209 A
S
n
0 0 1 0 -14 14 0 12 12 1076 1309 A
S
n
0 0 1 -14 0 0 -14 12 12 1076 1296 A
S
n
gs 316 1125 1075 400 CB
763 1282 M 936 0 1 PP
S
n
gr
0 0 1 14 0 0 14 12 12 1389 1271 A
S
n
gs 1500 67 463 1207 CB
1400 1333 M 0 -189 1 PP
S
n
gr
gs 66 1125 1325 400 CB
1263 1195 M 186 0 1 PP
S
n
gr
0 0 0 fC
/fm 256 def
5 6 1325 1196 E
1 F
S
n
gs 1500 16 463 1295 CB
1062 1283 M 0 36 1 PP
S
n
gr
gs 1500 1125 463 400 CB
776 1171 138 (interp) 138 SB
gr
gs 82 1125 926 400 CB
826 1192 M 300 0 1 PP
S
n
gr
/fm 256 def
1026 1192 M 37 -11 0 23 -37 -12 3 PP
1 F
n
6 4 SP
gs 143 1125 1326 400 CB
1165 819 M 483 0 1 PP
S
n
gr
/fm 256 def
1487 819 M 37 -11 0 23 -37 -12 3 PP
1 F
n
gs 1500 1125 463 400 CB
1491 799 69 ("0") 69 SB
gr
6 4 SP
gs 86 1125 1418 400 CB
1600 1319 M -300 0 1 PP
S
n
gr
/fm 256 def
1401 1319 M -37 12 0 -23 37 11 3 PP
1 F
n
32 0 0 38 38 0 0 0 34 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
-2 1 SJ
1528 1297 167 (~200 bytes) 167 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1463 2699 336 (December 12, 1995, slide 18) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
2 2 SJ
566 1793 658 (Result String, cont'd) 658 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1940 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
2 6 SJ
622 1924 830 (Option 3: allocate new space for result.) 830 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
641 1987 750 (interp->result = malloc\(2000\);) 750 SB
gr
gs 1500 1125 463 1705 CB
641 2037 75 (...) 75 SB
gr
gs 1500 1125 463 1705 CB
641 2087 600 (interp->freeProc = free;) 600 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2437 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 3 SJ
622 2421 256 (Tcl will call ) 256 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
878 2424 240 (freeProc) 240 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 6 SJ
1118 2421 588 ( \(if not NULL\) to dispose of) 588 SB
gr
gs 1500 1125 463 1705 CB
622 2481 133 (result.) 133 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2587 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 2571 1067 (Mechanism supports storage allocators other than) 1067 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
622 2634 180 (malloc) 180 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
802 2631 14 (/) 14 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
816 2634 120 (free) 120 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
936 2631 13 (.) 13 SB
gr
6 4 SP
252 254 185 fC
/fm 256 def
1040 2156 1438 2356 25 25 RR
1 F
S
n
0 lc
0 lj
255 255 255 fC
/fm 256 def
123 37 1278 2181 B
1 F
S
n
32 0 0 38 38 0 0 0 32 /Courier-Bold /font9 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
1066 2176 138 (result) 138 SB
gr
255 255 255 fC
/fm 256 def
274 36 1127 2307 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 1705 CB
1143 2303 46 ("") 46 SB
gr
255 255 255 fC
/fm 256 def
123 37 1278 2231 B
1 F
S
n
0 0 0 fC
gs 1500 1125 463 1705 CB
1293 2228 92 (free) 92 SB
gr
gs 1500 1125 463 1705 CB
1066 2226 184 (freeProc) 184 SB
gr
1 lc
1 lj
/fm 256 def
6 5 1338 2201 E
1 F
S
n
gs 1500 1125 463 1705 CB
788 2176 138 (interp) 138 SB
gr
gs 81 1125 939 1705 CB
840 2197 M 297 0 1 PP
S
n
gr
/fm 256 def
1038 2197 M 37 -11 0 23 -37 -12 3 PP
1 F
n
6 4 SP
gs 144 1125 1338 1705 CB
1176 2200 M 486 0 1 PP
S
n
gr
/fm 256 def
1500 2200 M 37 -11 0 23 -37 -12 3 PP
1 F
n
6 4 SP
252 254 185 fC
/fm 256 def
1502 2139 1638 2418 17 17 RR
1 F
S
n
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats
%%Page: 10 10
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1463 1394 336 (December 12, 1995, slide 19) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
4 3 SJ
566 488 1060 (Procedures For Managing Result) 1060 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 660 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
3 4 SJ
622 644 710 (Option 4: use library procedures.) 710 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
641 766 1050 (Tcl_SetResult\(interp, string, ...\);) 1050 SB
gr
gs 1500 1125 463 400 CB
641 886 960 (Tcl_AppendResult\(interp, string,) 960 SB
gr
gs 1500 1125 463 400 CB
641 946 1170 (    string, ... string, \(char *\) NULL\);) 1170 SB
gr
gs 1500 1125 463 400 CB
641 1066 1020 (Tcl_AppendElement\(interp, string\);) 1020 SB
gr
gs 1500 1125 463 400 CB
641 1186 720 (Tcl_ResetResult\(interp\);) 720 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1463 2699 336 (December 12, 1995, slide 20) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
3 2 SJ
566 1793 872 (Utility Procedures: Parsing) 872 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1965 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
4 6 SJ
622 1949 1082 (Used by command procedures to parse arguments:) 1082 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
641 2012 400 (int value, code;) 400 SB
gr
gs 1500 1125 463 1705 CB
641 2062 1075 (code = Tcl_GetInt\(interp, argv[1], &value\);) 1075 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2154 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 2138 362 (Stores integer in ) 362 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
984 2141 150 (value) 150 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1134 2138 13 (.) 13 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2244 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
622 2228 184 (Returns ) 184 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
806 2231 180 (TCL_OK) 180 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
986 2228 72 ( or ) 72 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
1058 2231 270 (TCL_ERROR) 270 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1328 2228 13 (.) 13 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2334 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
5 4 SJ
622 2318 481 (If parse error, returns ) 481 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
1107 2321 270 (TCL_ERROR) 270 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
2 2 SJ
1377 2318 233 ( and leaves) 233 SB
gr
gs 1500 1125 463 1705 CB
622 2378 241 (message in ) 241 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
863 2381 420 (interp->result) 420 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1283 2378 13 (.) 13 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2484 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
3 1 SJ
622 2468 393 (Other procedures:) 393 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
641 2531 325 (Tcl_GetDouble) 325 SB
gr
gs 1500 1125 463 1705 CB
1111 2531 350 (Tcl_ExprDouble) 350 SB
gr
gs 1500 1125 463 1705 CB
641 2581 350 (Tcl_GetBoolean) 350 SB
gr
gs 1500 1125 463 1705 CB
1111 2581 375 (Tcl_ExprBoolean) 375 SB
gr
gs 1500 1125 463 1705 CB
641 2631 300 (Tcl_ExprLong) 300 SB
gr
gs 1500 1125 463 1705 CB
1111 2631 350 (Tcl_ExprString) 350 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font ZapfDingbats
%%Page: 11 11
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1463 1394 336 (December 12, 1995, slide 21) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
5 2 SJ
566 488 932 (Utility Procedures: Variables) 932 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 660 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 644 498 (Read, write, and unset:) 498 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
688 707 300 (char *value;) 300 SB
gr
gs 1500 1125 463 400 CB
688 757 925 (value = Tcl_GetVar\(interp, "a", ...\);) 925 SB
gr
gs 1500 1125 463 400 CB
688 807 900 (Tcl_SetVar\(interp, "a", "new", ...\);) 900 SB
gr
gs 1500 1125 463 400 CB
688 857 775 (Tcl_UnsetVar\(interp, "a", ...\);) 775 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 949 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
622 933 223 (Set traces:) 223 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
688 997 625 (Tcl_TraceVar\(interp, "a",) 625 SB
gr
gs 1500 1125 463 400 CB
688 1047 1025 (        TCL_TRACE_READS|TCL_TRACE_WRITES,) 1025 SB
gr
gs 1500 1125 463 400 CB
688 1097 775 (        traceProc, clientData\);) 775 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 1189 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
622 1176 270 (traceProc) 270 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
3 10 SJ
892 1173 913 ( will be called during each read or write of ) 913 SB
gr
32 0 0 50 50 0 0 0 43 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 400 CB
1808 1176 30 (a) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
1838 1173 17 (:) 17 SB
gr
32 0 0 50 50 0 0 0 45 /Times-Roman /font32 ANSIFont font
gs 1500 1125 463 400 CB
641 1234 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
4 2 SJ
688 1234 442 (Can monitor accesses.) 442 SB
gr
gs 1500 1125 463 400 CB
641 1294 25 (\226) 25 SB
gr
gs 1500 1125 463 400 CB
3 5 SJ
688 1294 697 (Can override value read or written.) 697 SB
gr
255 255 255 fC
/fm 256 def
gs 1500 1125 463 1705 CB
1500 1125 464 1706 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 1705 CB
-837 1880 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 1705 CB
3 6 SJ
566 2699 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 1705 CB
1463 2699 336 (December 12, 1995, slide 22) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
4 2 SJ
566 1793 792 (Other Utility Procedures) 792 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 1940 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
5 3 SJ
622 1924 692 (Parsing, assembling proper lists:) 692 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
641 1983 450 (Tcl_SplitList\(...\)) 450 SB
gr
gs 1500 1125 463 1705 CB
641 2028 350 (Tcl_Merge\(...\)) 350 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2105 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
3 2 SJ
622 2089 433 (Flexible hash tables:) 433 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
641 2148 550 (Tcl_InitHashTable\(...\)) 550 SB
gr
gs 1500 1125 463 1705 CB
641 2193 600 (Tcl_CreateHashEntry\(...\)) 600 SB
gr
gs 1500 1125 463 1705 CB
641 2239 550 (Tcl_FindHashEntry\(...\)) 550 SB
gr
gs 1500 1125 463 1705 CB
641 2284 600 (Tcl_DeleteHashEntry\(...\)) 600 SB
gr
gs 1500 1125 463 1705 CB
641 2329 600 (Tcl_DeleteHashTable\(...\)) 600 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 1705 CB
566 2405 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 1705 CB
1 1 SJ
622 2389 364 (Dynamic strings:) 364 SB
gr
32 0 0 41 41 0 0 0 35 /Courier-Bold /font9 ANSIFont font
gs 1500 1125 463 1705 CB
641 2449 500 (Tcl_DStringInit\(...\)) 500 SB
gr
gs 1500 1125 463 1705 CB
641 2494 550 (Tcl_DStringAppend\(...\)) 550 SB
gr
gs 1500 1125 463 1705 CB
641 2539 725 (Tcl_DStringAppendElement\(...\)) 725 SB
gr
gs 1500 1125 463 1705 CB
641 2584 525 (Tcl_DStringValue\(...\)) 525 SB
gr
gs 1500 1125 463 1705 CB
641 2629 500 (Tcl_DStringFree\(...\)) 500 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats
%%Page: 12 12
%%PageResources: (atend)
SS
0 0 20 11 809 1100 300 SM
255 255 255 fC
/fm 256 def
2250 3000 88 115 B
1 F
n
1 lc
1 lj
0 0 0 pC
6 4 SP
415 367 2014 1566 88 88 RR
S
n
415 1667 2014 2866 88 88 RR
S
n
255 255 255 fC
/fm 256 def
gs 1500 1125 463 400 CB
1500 1125 464 401 B
1 F
n
gr
6 8 SP
gs 1318 1125 477 400 CB
-837 575 M 3942 0 1 PP
S
n
gr
32 0 0 29 29 0 0 0 27 /Times-Italic /font31 ANSIFont font
0 0 0 fC
gs 1500 1125 463 400 CB
3 6 SJ
566 1394 473 (Tcl/Tk Tutorial Part IV: Tcl C Interfaces) 473 SB
gr
gs 1500 1125 463 400 CB
1463 1394 336 (December 12, 1995, slide 23) 336 SB
gr
32 0 0 75 75 0 0 0 69 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
566 488 311 (Summary) 311 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 697 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
4 9 SJ
622 681 1119 (Interfaces to C are simple: Tcl was designed to make) 1119 SB
gr
gs 1500 1125 463 400 CB
622 741 192 (this true.) 192 SB
gr
32 0 0 38 38 0 0 0 30 /ZapfDingbats font
gs 1500 1125 463 400 CB
566 847 30 (u) 30 SB
gr
32 0 0 50 50 0 0 0 46 /Times-Bold /font29 ANSIFont font
gs 1500 1125 463 400 CB
3 8 SJ
622 831 1126 (Focus on primitives, use Tcl scripts to compose fancy) 1126 SB
gr
gs 1500 1125 463 400 CB
622 891 183 (features.) 183 SB
gr
1 #C
statusdict begin /manualfeed false store end
EJ RS
%%PageTrailer
%%PageResources: font Times-Bold
%%+ font Times-Italic
%%+ font ZapfDingbats
%%Trailer
SVDoc restore
end
%%Pages: 12
% TrueType font name key:
%    MSTT31c1ce = 43dfDTimes New RomanF0000004b000002bc0000
%    MSTT31c1db = 43dfDTimes New RomanF00000032000002bc0000
%    MSTT31c1e8 = 43dfDTimes New RomanF00000026000002bc00ff
%    MSTT31c1f5 = 43dfDTimes New RomanF0000001d0000019000ff
%    MSTT31c202 = 43dfDMonotype SortsF00000026000001900000
%    MSTT31c20f = 43dfDTimes New RomanF00000032000001900000
%    MSTT31c21c = 43dfDTimes New RomanF0000002a000001900000
%    MSTT31c229 = 43dfDTimes New RomanF00000026000001900000
%%DocumentSuppliedResources: procset Win35Dict 3 1

%%DocumentNeededResources: font Courier-Bold
%%+ font Times-Bold
%%+ font Times-BoldItalic
%%+ font Times-Italic
%%+ font Times-Roman
%%+ font ZapfDingbats

%%EOF
