Google
 

Trailing-Edge - PDP-10 Archives - mit_emacs_170_teco_1220 - emacs/xpas.elib
There are no other files named xpas.elib in the archive.
HW[0 +8+fq(+4)[1
0fo10f"g+q1'
+fq()+4u1
fq1"l 0'
,q1:m(q1+4(]1]0))
+8,',73,U@1AL.)[,ug-U1AbKq
&]0P;BM)}\Kj*w*-
#1X0m@EOCV]Cc&Yq# U&4'.$ #0[:%CH'ZS^_lgrO\yL}	
M	M	)M2	9NQ	HN	ZMF	iMY	yMm
N
N
,N
=N+
NN=
^NQ
oNQ
AAX!C0E;BE[RBy_Am>.wD!
L
DM
(LG
8>.
DL2
TL
f>.
pNiISF"!F
.I?IdMB\BFgBau>
T# Pascal begin Template# Pascal case Template# Pascal do Template# Pascal else Template# Pascal for Template# Pascal function Template# Pascal if Template# Pascal loop Template# Pascal of Template# Pascal procedure Template# Pascal program Template# Pascal record Template# Pascal repeat Template# Pascal then Template# Pascal while Template# Pascal with Template& Default Init Pascal Mode& Default Init Web Mode& End of Pascal Code& End of Pascal Statement& Forward Pascal Token& In Pascal Part& Init Pascal Mode& PAS Mode& Pascal Back Space& Pascal Conditional Space& Pascal Find Key Start& Pascal Insert Comment& Pascal Mode& Pascal then/do Clause& Pascal while/then Clause& PGO Mode& Setup PASCAL Library& Start of Pascal Statement& Uppercase Pascal Keyword& Web ModePascal Mode
Web Mode^R Pascal Back Statement^R Pascal Block Comment^R Pascal Else^R Pascal End of Block^R Pascal Forward Statement^R Pascal Increment^R Pascal Indent^R Pascal Start of Block^R Pascal Template^R Web Block Comment^R Web Indent^R Web Quote Hack~DIRECTORY~!~DOC~ # Pascal begin Template ~DOC~ # Pascal case Template~DOC~ # Pascal do Template ~DOC~ # Pascal else Template~DOC~ # Pascal for Template$~DOC~ # Pascal function Template~DOC~ # Pascal if Template ~DOC~ # Pascal loop Template~DOC~ # Pascal of Template%~DOC~ # Pascal procedure Template#~DOC~ # Pascal program Template"~DOC~ # Pascal record Template"~DOC~ # Pascal repeat Template ~DOC~ # Pascal then Template!~DOC~ # Pascal while Template ~DOC~ # Pascal with Template$~DOC~ & Default Init Pascal Mode!~DOC~ & Default Init Web Mode~DOC~ & End of Pascal Code#~DOC~ & End of Pascal Statement ~DOC~ & Forward Pascal Token~DOC~ & In Pascal Part~DOC~ & Init Pascal Mode~DOC~ & PAS Mode~DOC~ & Pascal Back Space$~DOC~ & Pascal Conditional Space!~DOC~ & Pascal Find Key Start!~DOC~ & Pascal Insert Comment~DOC~ & Pascal Mode!~DOC~ & Pascal then/do Clause$~DOC~ & Pascal while/then Clause~DOC~ & PGO Mode ~DOC~ & Setup PASCAL Library%~DOC~ & Start of Pascal Statement$~DOC~ & Uppercase Pascal Keyword~DOC~ & Web Mode~DOC~ Pascal Mode~DOC~ Web Mode"~DOC~ ^R Pascal Back Statement!~DOC~ ^R Pascal Block Comment~DOC~ ^R Pascal Else ~DOC~ ^R Pascal End of Block%~DOC~ ^R Pascal Forward Statement~DOC~ ^R Pascal Increment~DOC~ ^R Pascal Indent"~DOC~ ^R Pascal Start of Block~DOC~ ^R Pascal Template~DOC~ ^R Web Block Comment~DOC~ ^R Web Indent~DOC~ ^R Web Quote Hack~DOC~ ~FILENAME~~FILENAME~
~INVERT~
PASCALem(m.m& Init Buffer Locals)
:i*Pascalm(m.m& Init Pascal Mode)
1m(m.m& Set Mode Line)Pascalm(m.m& Init Buffer Locals)
:i*Webm(m.m& Init Pascal Mode)
qWeb Insert Template Commentsm.lPascal Insert Template Comments
qWeb Begin on Separate Linem.lPascal Begin on Separate Line
qWeb begin Indentationm.lPascal begin Indentation
1m(m.m& Set Mode Line)Webw[0
1,(q0 Comment Column)m.lComment Column
1,(q0 Comment Rounding)m.lComment Rounding
1,(q0 Comment Start)m.lComment Start
1,(q0 Comment Begin)m.lComment Begin
1,(q0 Comment End)m.lComment End
0fo..q0 Mode Hook"e
m(m.m& Default Init 0 Mode)'
m.q..D
0fo..qPascal ..Df"nu..d'"#
:g..Du..D
-1u1 0<%1*5+1:f..d >
10<%1*5+1:f..dA>
A-9-1<%1*5+1:f..d >
26<%1*5+1:f..dA>
a-Z-1<%1*5+1:f..d >
26<%1*5+1:f..dA>
128-z-1<%1*5+1:f..d >
_*5+1:f..dA
_*5:f..dA
$*5:f..d 
%*5:f..d 
.*5:f..d 
(*5+1:f..d(
)*5+1:f..d)
"*5+1:f..d|
'*5+1:f..d|
|*5+1:f..d|
[*5+1:f..d(
]*5+1:f..d)
{*5+1:f..d(
}*5+1:f..d)
\*5+1:f..d/
@*5+1:f..d/
q..Dm.vPascal ..Dw'
1,(m.m^R Pascal Template)m.q....
1,(m.m^R Pascal Else)m.q...,
1,(m.m^R Pascal Increment)m.q...+
1,(m.m^R Pascal Block Comment)m.q...*
1,(m.m^R Pascal Start of Block)m.q...A
1,(m.m^R Pascal End of Block)m.q...E
1,(m.m^R Pascal Back Statement)m.q...P
1,(m.m^R Pascal Forward Statement)m.q...N
1,(m.m^R Pascal Indent)m.qI
1,q(1,q.m.qw)m.q.'"1,(m.m^R Pascal Template)m.q....
1,(m.m^R Pascal Else)m.q...,
1,(m.m^R Pascal Increment)m.q...+
1,(m.m^R Web Block Comment)m.q...*
1,(m.m^R Pascal Start of Block)m.q...A
1,(m.m^R Pascal End of Block)m.q...E
1,(m.m^R Pascal Back Statement)m.q...P
1,(m.m^R Pascal Forward Statement)m.q...N
1,(m.m^R Web Indent)m.qI
1,(m.m^R Web Quote Hack)m.q" !'!
1,q(1,q.m.qw)m.q.'.(i@t .[0i @>),.(q0j)Wm(m.m& In Pascal Part)"n f:m(m.m^R Pascal Indent)'
f:m(m.m^R Indent Relative)m(m.m& In Pascal Part)"e
1,m(m.m& Get Library Pointer)TeX"e
m(m.mLoad Library) TeX'
:m(m.m^R TeX ")!'!'
"fs^RInsert!'!
0b.[0 fnq0j
!<! -:s@ @*@>=@p@t[1
q1+3"g 0'
q1+5"n 1'
!<! :s@>"e 0'
.-q0"g 0'
1>:l < -@f
	 l
0,0a-}"e -s{'
"# -2f=*)"e -s(*'
"# 1'-1; >
0l .[0
:< @f 	l
:f@;
2f=(*"e2cs*)'"#
0,1a-{"e s}'"#
0,1a"cfwl'"#0,1a-("e@fll'"#c''
.u0''
>"nzj'
q0jLm.m& Start of Pascal Statement
m.m& Pascal Find Key Start
m.m& Pascal Back Space
,mF[1 [2 .[3 [4
< 0,1a-{"n 2f=(*"n .u3''
.-q1"e'
mB"n "'l+1'"# 'u4
"e ;,0a-;"e q3j'
"# 0,0a-,"e q3j'
"# q4"g :,0a-:"e
0,-1a-)"n 0,1a-="n
q3j'''''''
"# .-q1:"g ,mFu1''
-@fll .-q1"e '
0,1a"c fwx2 q4"g "e 0fo..qPascal 2 Start"n q3j'''
"e 0fo..qPascal 2 Firewall"n q3j''
f~2of"e q2,(:i*setarraycase)mS
4f~case"e .u4
q2,(:i*beginrecord)mS
"e q3j'
"# 6f~record"'e+q4j'''
"# 1< 0fo..qPascal 2 Backf"n u4
q2,q4mS
"n -c'
q4u2 @'>''
>q[2 0[4
< .u2 -@f 
	l
0,0a-}"e -s{'
0,0a-)"e 0,-1a-*"e -2c -s(*''
-@f
f("n1u4')l
.-q2@; >
q4y"e b'
.[0 fnq0j
[1 0s1
< -:s; 0,0a"b 0,fk+1a"b .'' >
u1 !"! :i*Couldn't find match to "1"fsErr !''! m.m& End of Pascal Statement
m.m& Forward Pascal Token
0[1[2[3
< mT -@fwx2
.-z"e '
0,0a-;"e'
f~2else"e q1f"e '"#-1u1''
f~2if"e %1'
0fo..qPascal 2 Clause Start"e
0fo..qPascal 2 Back"n '
0fo..qPascal 2 Forwardf"nu3
<mE -@fwx2 f~23@;> 1u0''
>f:< @f
 	l
2f=(*"e2cs*) !<!>'
0,1a-{@:;
s}
>"n zj'
0,1a"c fwl'
0,1a-("e @fll'
c,qPascal Reserved Word Case"n -fw@fc' .[1[2[3
m.m& End of Pascal Code
-@f	 l 10,0a-10"n q1j f:m(m.m^R Indent Relative)'
< -@f
	l
fsz-.f[vz 0l .f[vb
0u2 :<ful -1u2>
q2"e :l :<-ful 1u2>'
f]vb f]vz
q2; -fll >
q2"n 2f=(*"e 3u2'"# 0,2a- "e 2u2'''
"# q1j < b-.; -L .u3
mE 0f@:; q3j >
;,0a-;"e -:cw -1,m(m.m& Start of Pascal Statement)
@fwx3 0fo..qPascal 3 Block Indentationu2'
"# 0a-,"e -c 0u2'
"# -@fwx3 qPascal Code Continuationfo..qPascal 3 Indentationu2
0fo..qPascal 3 Back"e -@fwl''
m(m.m& Start of Pascal Statement)
@fwx3 q2fo..qPascal 3 Declu2''
fsSHpos+q2u2
q1j fsSHposu1
q1-q2"l q2:m(m.m& Indent)'
f:m(m.m^R Indent Relative)e-@f 	k
.[1 1,m(m.m& Start of Pascal Statement)
.,q1(q1j)x0 i := 0
ff"e i + 1;'
q1,.]m.m& Start of Pascal Statement
m.m& End of Pascal Statement
[1[2 .[3

 :<  -@fll 1,mS
@fwx2 0fo..qPascal 2 Block Indentation"n
q3j :i*No IF clause without ELSE found@fg'
f~2if"n !<!>'
.u1 2c mE
-4f~else@:; q1j
>"n q3j fsErru1
f~1NIB-3"g :i*No IF clause without ELSE found'"# q1'@fg'

 -c1m(m.m& Save for Undo)else insertion
c 0,0a-;"e-d'
.u2
a,-3a"b -3f~end"e
@f 	k  i
:l -@f 	k  i
0'"# 1''"# 1'"n
q1j 0@l @f 	l
fsSHPosu1 q2j i
0,q1m(m.m& XIndent)'
ielse  m(m.m& Uppercase Pascal Keyword)
ff"e q2,.'
1,m(m.m^R Pascal Template)u1
q2,q1~m.m^R Indent for Comment
qWithin Block Pascal Comment"n f@:mC'
1[Within Block Pascal Comment
qComment Start qComment End
:i*Block Comment[..J
fsSHPos[Comment Column
0[Comment Begin
 :i*S*[Comment Start
1[Space Indent Flag
1[Auto Fill Mode
@mC 
0f"n l'
[0[1[2[3 j
< :sS*; fkc
fsSHPosu0
0u1 0u2 0u3
.( -fkc <.-1f  -1f
fqE+1f=*E"e 1u2'
:fbE;
fsSHPos,q1fu1
l :fbS*; %3>
fsZ-.f[VZ
)j
q1-fqE+1u1
q3"e q2"n qFill Columnu1''
q2"n (q1-q0-1-fqS&1)+q1u1'
< :sE;
fqEr
-(fqS+2)f=S *"e
.,(q1-(fsSHPos)/2<i *>).f'
"# q1m(m.m& Indent)f'
l >
zj f]VZ >
0cm.m& Start of Pascal Statement
[0 .[1
:<.u0 1,mS
q0-."e -@fll
0,1a"c fwx0
0fo..qPascal 0 Block"n !<!> 0'
0fo..qPascal 0 Firewall"e
0fo..qPascal 0 Start"e fwl''''
@>
q1j
:i*Not within any blocksfsErr0Jm(m.m^R Pascal Start of Block)
m(m.m& End of Pascal Statement)
0)"l -:m(m.m^R Pascal Forward Statement)'
m.m& Start of Pascal Statement [0
< .u0 mS q0-."e
-@fll 0,1a"c fwx0
0fo..qPascal 0 Back"n fwl' mS'
"# @'' >
0Y"l -:m(m.m^R Pascal Back Statement)'
m.m& End of Pascal Statement [0
<mE> 0E.[1[2[3[4
m.m& XIndent
m.m& Uppercase Pascal Keyword
m.m& Pascal Insert Comment
m.m& Pascal Conditional Space
m.m& Pascal Back Space
m.m& Start of Pascal Statement
mB -@:fwl -@fwf(l)x2
1,m.m# Pascal 2 Templateu3
q3"n 0[A
!Found!	.u4
m(m.m& Start of Pascal Statement)
fsSHPos q1j
-@f 	l
"e 2m(m.m& Save for Undo)template expansion'
0f"e q1j'"# .,q1k'
q4(.u4),(fff"nw')m3(q4,)'
q1j mB -@:fll
< 1,mA .u3 mB 0,0a-:@:; -c > q3j
.-q1"n
@fwx2 1,m.m# Pascal 2 Templateu3
q3"n 1[A oFound''
q1j :i*No template for 2fsErr 0-@f 	"n '
0f"n i'C[0 .[1 mS g0mU
qA"e fnq1j mS'
:m(m.m# Pascal 0 Template)#"n i
0,qH+mX .'
.[1 qPascal Begin on Separate Line"n
-@f 	l 0f"e q1j'"# .,q1k i
0,qH+mX''
mS .u1 ibeginmU
q1,:m(m.m# Pascal begin Template)sqPascal Insert Template Comments"e '
0[Comment Column
@m(m.m^R Indent for Comment)
g()s)
"n :mU' O.( j -@f 	l
0f"e j fsSHPosuH'
-@fll 0,1a"c fwx2'
f~2else"n
1,m(m.m& Start of Pascal Statement)
0,1a"c fwx2'' )j
i
0,qH+qPascal begin IndentationmX .[0 fnq0j i
0,qHmXiend;mU q2mC ..:i*of,:m(m.m& Pascal while/then Clause)=qPascal do Indentation,:m(m.m& Pascal then/do Clause)?qPascal else Indentation,:m(m.m& Pascal then/do Clause)0:i*then,:m(m.m& Pascal while/then Clause)i
0,qH+qPascal loop IndentationmX i
0,qHmXiexitmUi if mU .[0 fnq0j i
0,qH+qPascal loop IndentationmX i
0,qHmXiend;mU 1,(:i*loop)mC .i
0,qH+qPascal of IndentationmX .[0 fnq0j i
qPascal END aligned with CASE bodyf"n
qPascal of Indentation'+qH(0,)mX
iend;mU 1,(:i*case)mC .h.[1 [0 qA"e 3,m(m.m& Read Line)2 name: u0
fq0:"g 0' mSg0'
"# .(jfwl@f
 	l @fwx0)j'
 f0:f"l(0,):g0u0'
0,0a-;"n;i' i

0,qH+qPascal 2 Block IndentationmX
"n ivar
0,qH+qPascal 2 Block Indentation+qPascal var IndentationmX
.[3 i

0,qH+qPascal 2 Block IndentationmX'
ibeginmU q0mC i
0,qH+qPascal 2 Block Indentation+qPascal begin IndentationmX
"e .[3' i
0,qH+qPascal 2 Block IndentationmX
iendmU
f~2program"e.'"#;'i q0mC .(q3j)E.(1:<j -fwl fwx2>w)j
i
0,qH+qPascal record IndentationmX
"e .[1'"#icase mU .[1 i of
mU 0,qH+qPascal record Indentation+qPascal of IndentationmX'
i
0,qHmX iend;mU q2mC .(q1j)Di
0,qH+qPascal repeat IndentationmX i
0,qHmX iuntil mU .?qPascal then Indentation,:m(m.m& Pascal then/do Clause).:i*do,:m(m.m& Pascal while/then Clause)0fo..qPASCAL Loaded-12101557741"n
40m.CPascal Comment Column* What column to start Pascal comments in
@:i*|/4+1*4|m.CPascal Comment Rounding* How to round column for Pascal comments
@:i*|(*|m.CPascal Comment Start* String that starts Pascal comments
@:i*|(* |m.CPascal Comment Begin* What to insert at start of Pascal comments
@:i*| *)|m.CPascal Comment End* What to insert at end of Pascal comments
0m.CWeb Comment Column* What column to start Web comments in
@:i*|+1|m.CWeb Comment Rounding* How to round column for Web comments
@:i*|{|m.CWeb Comment Start* String that starts Web comments
@:i*|{|m.CWeb Comment Begin* What to insert at start of Web comments
@:i*|}|m.CWeb Comment End* What to insert at end of Web comments
0m.CWeb Insert Template Comments* If non-zero add comments on ENDs
1m.CWeb Begin on Separate Line* If non-zero put CRLF before BEGIN
0m.CWeb begin Indentation* How far to indent BEGIN keyword
1m.CPascal begin Firewall
1m.CPascal loop Firewall
1m.CPascal repeat Firewall
1m.CPascal var Firewall
1m.CPascal const Firewall
1m.CPascal type Firewall
1m.CPascal record Firewall
1m.CPascal then Start
1m.CPascal else Start
1m.CPascal do Start
@:i*|beginloopcaserecord|m.CPascal end Back
@:i*|repeat|m.CPascal until Back
@:i*|if|m.CPascal then Back
@:i*|forwhilewith|m.CPascal do Back
@:i*|then|m.CPascal else Back
@:i*|end|m.CPascal begin Forward
@:i*|end|m.CPascal loop Forward
@:i*|end|m.CPascal case Forward
@:i*|until|m.CPascal repeat Forward
1m.CPascal do Clause Start
1m.CPascal then Clause Start
0m.CPascal Reserved Word Case* If non-0 BEGIN and END etc capitalized
4m.CPascal begin Indentation* How far to indent BEGIN keyword
4m.CPascal do Indentation* How far to indent while stmt body
4m.CPascal then Indentation* How far to indent if stmt body
4m.CPascal type Indentation* How far to indent type definitions
4m.CPascal of Indentation* How far to indent case stmt body
4m.CPascal else Indentation* How far to indent else clause body
4m.CPascal loop Indentation* How far to indent loop stmt body
4m.CPascal record Indentation* How far to indent record body
4m.CPascal repeat Indentation* How far to indent repeat stmt body
4m.CPascal procedure Block Indentation* How far to indent procedure body
4m.CPascal function Block Indentation* How far to indent function body
0m.CPascal program Block Indentation* How far to indent main program
2m.CPascal Code Continuation* How far to indent continuation of code
4m.CPascal var Decl* How far to indent variable declarations
4m.CPascal const Decl* How far to indent constant declarations
4m.CPascal label Decl* How far to indent label declarations
0m.CWithin Block Pascal Comment
1m.CPascal begin Block
1m.CPascal loop Block
1m.CPascal repeat Block
1m.CPascal of Block
0m.CPascal Begin on Separate Line* If non-zero put CRLF before BEGIN
1m.CPascal Insert Template Comments* If non-zero add comments on ENDs
0m.CPascal END aligned with CASE body* If non-zero align CASE END with body
12101557741m.vPASCAL Loaded'
0fo..qPASCAL Setup Hookf"n[0m0w'%Functions for editing Pascal codePC Set up for editing Pascal code.
If a Pascal Mode Hook exists, it is macroed.  Otherwise the following are set:
  Tab    indents for the next Pascal statement.
  c-m-.  inserts a template for the statement pointed to.
  c-m-,  inserts an ELSE clause for the previous IF statement.
  c-m-+  makes a statement of the form Foo := Foo + 1, given Foo.
  c-m-*  makes a block comment
The Lisp defun and list commands use Pascal blocks and statements instead.`C Set up for editing Web code.
This is mostly like Pascal mode, except that it can tell when the
current context is TeX and behaves slightly differently then.
Also, the default setting of variables is quite different./S Set up variables for Pascal and Web modesuS Set up key bindings for Pascal mode.
A Pascal Mode Hook should call this if it wants the default key bindings.oS Set up key bindings for Web mode.
A Web Mode Hook should call this if it wants the default key bindings.n^R Make block text within Web file.
I don't know why you would want to use this function, but here it is.6^R Indent text either as for Pascal or as for TeX.0^R Funny doublequote if in TeX, else normal.5S Return non-zero if in Pascal part of a Web file/S Find last text on line, ignoring commentskS Find beginning of this statement.
Arguments are passed to & Pascal Find Key Start.
With no numarg, a positive pre-comma arg means stop even in the middle
of a line, and a negative one means don't stop till start of whole stmt.XS Back over whitespace and comments.
Returns nonzero if a line boundary is crossed.]S Reverse search for numarg.
Used as a subroutine by & Start of Pascal Statement.  The string should
have ^Bs around each word in it.  A pre-comma argument is used to construct
an error message if the search fails.@S Find end of this statement.
Ends after semicolon or ELSE.0S Find next non-comment expr in program text-S Make reserved word uppercase if wanted.0^R Move to column for next Pascal statement._^R Set up statement of form Foo := Foo + 1.
If given an argument, doesn't add the " + 1;".l^R Insert ELSE clause after the last IF statement.
Any semicolon after the IF is automatically removed.&C Recursive edit for large block of comments.
Auto fill mode is turned on, ^R Indent for Comment is called initially,
Comment Start has a star added to it (so typically it becomes "(**").
"(*** *)" (comment with just a *) expand into (* * * *... *), aligned
with any surrounding block comments (for boxes), or if no surrounding
comments expand into Pascal Star Line Width wide.  When the recursive edit
returns, comment-ends within each block comment will be vertically aligned.
Point is left after the end of the last block comment found.)^R Move back to start of numarg level*^R Move forward to end of numarg level^R Move back over statement"^R Move forward over statementH^R Insert template for keyword just typed.
A numeric argument will make the inserted text slightly different,
for instance if you ran ^R Pascal Template from
	foo = record/\
the result would look like
	foo = record
	    /\
	end;    (* foo *)
but if you gave it an argument you would instead get
	foo = record
	    case /\ of
		
	end;    (* foo *)
All reserved words should expand to something reasonable - try
it to see what you get.  To insert an ELSE clause after an IF that
has been expanded, use ^R Pascal Else.

A pre-comma arg means don't save for Undo.,S Insert space if dont already have some(S Insert FOR, WHILE, or IF statement*S Subroutine for THEN and DO templateslS Insert numarg in comment, leave cursor after end.
A pre-comma arg means to capitalize a reserved wordS Insert BEGIN/END pair(S Insert template for CASE statement&S Insert DO clause of WHILE or FOR)S Insert ELSE clause for IF statement&S Insert template for IF statement(S Insert P20 LOOP/EXIT/END statement(S Insert OF clause of CASE statement2S Insert procedure, function, or program block"S Insert RECORD type structure#S Insert REPEAT/UNTIL statement)S Insert THEN clause for IF statement0S Insert template for WHILE or FOR statementeS IVORY-Generated Setup -- Calls hook.
This object file was compressed on 1:42pm  Monday, 8 April 1985
by EPPSTEIN on COLUMBIA-20.ARPA from the following source libraries:

   PS:<EMACS.CU>XPAS.EMACS.29,	04/08/85 13:41:54kPascal Mode
& Pascal Mode
& PAS Mode
& PGO Mode
Web Mode
& Web Mode
& Init Pascal Mode
& Default Init Pascal Mode
& Default Init Web Mode
^R Web Block Comment
^R Web Indent
^R Web Quote Hack
& In Pascal Part
& End of Pascal Code
& Start of Pascal Statement
& Pascal Back Space
& Pascal Find Key Start
& End of Pascal Statement
& Forward Pascal Token
& Uppercase Pascal Keyword
^R Pascal Indent
^R Pascal Increment
^R Pascal Else
^R Pascal Block Comment
^R Pascal Start of Block
^R Pascal End of Block
^R Pascal Back Statement
^R Pascal Forward Statement
^R Pascal Template
& Pascal Conditional Space
& Pascal while/then Clause
& Pascal then/do Clause
& Pascal Insert Comment
# Pascal begin Template
# Pascal case Template
# Pascal do Template
# Pascal else Template
# Pascal if Template
# Pascal loop Template
# Pascal of Template
# Pascal procedure Template
# Pascal function Template
# Pascal program Template
# Pascal record Template
# Pascal repeat Template
# Pascal then Template
# Pascal with Template
# Pascal while Template
# Pascal for Template
& Setup PASCAL Library
\+8+fq(+4)[2 0[3
< %3,-q2f2u3 q3&1@; q3"l 0' >
f[BBind q3-1*5,q3*5g2 q:..o(0)+q2