(W [0+8+FQ(+4)[1 0FO10F"G+Q1' +FQ()+4U1 FQ1"L0' ,Q1:M(Q1+4(]1]0)) )Tt[bhlt={.  i # , h; (E xU V_ Rf I & find dq& find end & find sq& Setup BCPL Library BCPL Mode^R BCPL Syntax Checker~DIRECTORY~~DOC~ & find dq~DOC~ & find end~DOC~ & find sq~DOC~ & Setup BCPL Library~DOC~ BCPL Mode ~DOC~ ^R BCPL Syntax Checker~DOC~ ~Filename~~Filename~ ~INVERT~m.vBCPL ..D [..OFSBCREATEG..D [00U0]0 (*5+1JF( [*5+1JF( <*5+1JF  {*5+1JF( )*5+1JF) ]*5+1JF) >*5+1JF  }*5+1JF) $*5+1JF/ "*5+1JF| 11.*5+1JF  12.*5+1JF  14.*5+1JF  15.*5+1JF  40.*5+1JF  =*5+1JF  '*5+1JF| .*5+1JF  ,*5+1JF  41.*5+1JF' %*5+1JF' ;*5+1JF' :*5+1JF  HXBCPL ..D  1:< :I*Cfsechodisp @FTSyntax checking FF"EJ' [0[1[2[3[4[5[6[7 :I7[null] 1:<-1F[NOQUITW !TOP!.U30U2[3[2 !AGAIN!:S{(["//'])}U1.U0 Q1"E]2]3Q2"EOWIN'OUNM' 0,-1A-$"EOAGAIN' 0,-1A-^"E0,-2A-$"EOAGAIN'' Q1+5U1 Q1"ELOAGAIN' Q1-1"G[0[1OAGAIN' Q1+1"L]2]3Q2"EOXTRA' Q1+Q2"NOMISM' 0,0AU4 Q4-]"NQ4-}"NOAGAIN'' .U4Q3Jq7U5q7U6 :S"EORCHK'Q3-.+1"EORCHK' Q3,.-1X5 !RCHK!Q4J :S"EZJ' "#R' Q4-."EQ5-q7"EQ4JOAGAIN' ONUNM' Q4,.X6!nameofclose! F=56"NONUNM'Q4JOAGAIN' .U3Q1-1"Em(m.m& find dq)"EOUNM'OAGAIN' Q1+1"Em(m.m& find sq)"EOUNM'OAGAIN' !MISM!7FSIMAGE0,Q3-.A:I20,Q0-.A:I1:I*Cfsechodisp @ft2 Mismatched by 1 q0j m(m.m^r set/pop mark) Q3-1J0; !UNM!7FSIMAGE0,Q3-.A:I2 :I*Cfsechodisp @ft2 Unmatched  q0j m(m.m^r set/pop mark) Q3-1J0; !NUNM!7FSIMAGE Q5"EQ7U5'Q6"EQ7U6'0,Q3-.A:I2 :I*Cfsechodisp @ftNamed braces 5 and 6 unmatched  q4j m(m.m^r set/pop mark) Q3-1J0; !XTRA!7FSIMAGE0,0A:I2 :I*Cfsechodisp @ft2 Extraneous R.u0 Q3-1j m(m.m^r set/pop mark) q0j0; !WIN!:I*Cfsechodisp @ftSyntax Correct >U0 Q0F"L-^FEQIT"E'' > 0fsechoact 1[0:i0" M(m.m& FIND END)[0:i0' M(m.m& FIND END)T[1!loop!:s0"E0' .u1 r -s* q1-.&1"Eq1j-1'!winifeven#ofstars! q1joloop*M(M.MLISP Mode) M.MMake Local Q-register[.Q M.Q...D M.Q...K M.Q...S M.M^R Down ListU...D M.M^R Kill SexpU...K M.M^R BCPL Syntax CheckerU...S M.Q..D qBCPL ..DU..D :IComment Start// (@:I*\// \)M.LComment Begin 40M.LComment Column 1M(M.M& Set Mode Line)BCPL BCPL$Functions for editing BCPL code. S Set up the BCPL ..D table.b^R Check the syntax of a buffer of BCPL code. Normally checks the entire buffer. Given an argument, checks from . to Z. Checks that braces are balanced, checks named braces; does not check things like arg list syntax.0S Search for double quote to end bcpl string0S Search for single quote to end bcpl stringS Find end of bcpl string.cC Setup things for editting BCPL code. Like LISP mode, but uses BCPL syntax. Also makes the following command character assignments: C-M-D ^R Down List C-M-K ^R Kill Sexp C-M-S ^R BCPL Syntax Checker_& Setup BCPL Library ^R BCPL Syntax Checker & find dq & find sq & find end BCPL Mode T+8+fq(+4)[20[3 <%3,-q2f2u3q3&1@;q3"l0'> f[BBindq3-1*5,q3*5g2q:..o(0)+q2