"$BLOCK--.REX"
$BLOCK__.REX
This Classic REXX program is used to generate (create) the $BLOCK.REX program. <lang rexx>/**/trace o;parse arg !;if !all(arg()) then exit;if !cms then address ;signal on halt;signal on novalue;signal on syntax
/*┌────────────────────────────────────────────────────────────────────┐
│This REXX program is too large for normal RX to handle. Therefore, │ │it needs to be compiled with: REXX /l /o $BLOCK__ │ ├─────where: │ │ /l indicates a "Large" REXX program, and │ │ /o indicates to REXX to "optimize" the REXX program (instead of │ │ executing it); the optimization process appends P─code to the │ │ end of the REXX program. To edit this program, the $ program│ │ should be used as it deletes the P─code, edits it (with KEDIT),│ │ and lastly invokes the above mentioned REXX command. │ └────────────────────────────────────────────────────────────────────┘*/
/*┌────────────────────────────────────────────────────────────────────┐
│ │ │bel b/s tab l/f eof esc c/r bla │ │bell backspace tab linefeed end-of-file escape carriage-return blank│ │ │ │ │ │ │ │ 0 1 2 3 4 5 6 7 8 9 A B C D E F │ │ │ │ ╔═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╤═══╗ │ │0 ║nul│ ☺ │ ☻ │ ♥ │ ♦ │ ♣ │ ♠ │bel│ bs│tab│ lf│ vt│ ff│ cr│ so│ si║0│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │1 ║ ► │ ◄ │ ↕ │ ‼ │ ¶ │ § │ ▬ │ ↨ │ ↑ │ ↓ │eof│esc│ ∟ │ ↔ │ ▲ │ ▼ ║1│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │2 ║bla│ ! │ " │ # │ $ │ % │ & │ ' │ ( │ ) │ * │ + │ , │ - │ . │ / ║2│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │3 ║ 0 │ 1 │ 2 │ 3 │ 4 │ 5 │ 6 │ 7 │ 8 │ 9 │ : │ ; │ < │ = │ > │ ? ║3│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │4 ║ @ │ A │ B │ C │ D │ E │ F │ G │ H │ I │ J │ K │ L │ M │ N │ O ║4│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │5 ║ P │ Q │ R │ S │ T │ U │ V │ W │ X │ Y │ Z │ [ │ \ │ ] │ ^ │ _ ║5│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │6 ║ ` │ a │ b │ c │ d │ e │ f │ g │ h │ i │ j │ k │ l │ m │ n │ o ║6│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │7 ║ p │ q │ r │ s │ t │ u │ v │ w │ x │ y │ z │ { │ | │ } │ ~ │ ⌂ ║7│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │8 ║ Ç │ ü │ é │ â │ ä │ à │ å │ ç │ ê │ ë │ è │ ï │ î │ ì │ Ä │ Å ║8│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │9 ║ É │ æ │ Æ │ ô │ ö │ ò │ û │ ù │ ÿ │ Ö │ Ü │ ¢ │ £ │ ¥ │ ₧ │ ƒ ║9│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │A ║ á │ í │ ó │ ú │ ñ │ Ñ │ ª │ º │ ¿ │ ⌐ │ ¬ │ ½ │ ¼ │ ¡ │ « │ » ║A│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │B ║ ░ │ ▒ │ ▓ │ │ │ ┤ │ ╡ │ ╢ │ ╖ │ ╕ │ ╣ │ ║ │ ╗ │ ╝ │ ╜ │ ╛ │ ┐ ║B│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │C ║ └ │ ┴ │ ┬ │ ├ │ ─ │ ┼ │ ╞ │ ╟ │ ╚ │ ╔ │ ╩ │ ╦ │ ╠ │ ═ │ ╬ │ ╧ ║C│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │D ║ ╨ │ ╤ │ ╥ │ ╙ │ ╘ │ ╒ │ ╓ │ ╫ │ ╪ │ ┘ │ ┌ │ █ │ ▄ │ ▌ │ ▐ │ ▀ ║D│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │E ║ α │ ß │ Γ │ π │ Σ │ σ │ µ │ τ │ Φ │ Θ │ Ω │ δ │ ∞ │ φ │ ε │ ∩ ║E│ │ ╟───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───╢ │ │F ║ ≡ │ ± │ ≥ │ ≤ │ ⌠ │ ⌡ │ ÷ │ ≈ │ ° │ ∙ │ · │ √ │ ⁿ │ ² │ ■ │ ║F│ │ ╚═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╧═══╝ │ │ │ │ 0 1 2 3 4 5 6 7 8 9 A B C D E F │ │ │ └────────────────────────────────────────────────────────────────────┘*/
call homedrive /*get the homedrive envvar.*/
$home=p(!var('$HOME') homedrive) /*get homedrive of \$\ dir.*/ $home=appenda($home,':') /*make the drive ──► drive:*/ $path=p(!var('$PATH') '\$') /*get path name of \$ dir.*/ $path=prefixa($PATH,'\') /*make the path ──► \dir */ $path=appenda($path,'\') /*make the path ──► dir\ */ if \hascol($path) then $path=$home||$path /*prefix with $HOME ? */
- home=p(!var('#HOME') homedrive) /*get homedrive of \#\ dir.*/
- home=appenda(#home,':') /*make the drive ──► drive:*/
- path=p(!var('#PATH') '\#') /*get path name of \# dir.*/
- path=prefixa(#PATH,'\') /*make the path ──► \dir */
- path=appenda(#path,'\') /*make the path ──► dir\ */
if \hascol(#path) then #path=#home||#path /*prefix with #HOME ? */
@rexx =$path'REXX.EXE' /*point to the REXX cmd*/ @erase ='ERASE' /*point to the ERASE cmd*/ @copy ='COPY' /*point to the COPY cmd*/
labs='1 ER J HALT NOVALUE SYNTAX !CAL !ENV !FID !SYS !VAR' asub.= /*nullify to-be-got asub */ rlines=sourceline()
do k=1 for sourceline() /*"read" this file's source*/ _=sourceline(k) /*get a record of this file*/ if k==1 then asub.1=_ /*if 1st line, then keep it*/ parse upper var _ lab ':' /*get the label, if present*/ lab=strip(lab) /*remove superflous blanks.*/ if lab== then iterate /*no label? Then ignore it*/ if wordpos(lab,labs)\==0 then asub.lab=_ /*is LABEL one of the good?*/ end
nfn=squish(!fn,'_') @$ =$path
tmp=homedrive()
_=value("TMP" ,,'ENVIRONMENT')
if _ == then _=value("TEMP",,'ENVIRONMENT') if _\== then tmp=left(_,1)
fid.0='.F='tmp":\"nfn'.TMP' fid.1='.F='tmp":\"nfn'.KEX' fid.2='.F='tmp":\"nfn'.REX'
do k=0 to 2 tfid.k=substr(fid.k,4) end
f36=copies('f',36) /*all 1s.*/ fids=space( ',(' tfid.1 "),(" tfid.2 '),' ) @test='TEST' @generate='GENERATE' scomm='/*'; ecomm='*/' xblank=c2x(" ") /*hex value of a blank character.*/ tops='.BOX= .C=blue .H=cyan .J=c .KD=,' cop=0 test=0 gen=0 opts=!
do forever while opts\== parse var opts y opts select when y==',' then nop when abbrev(@generate,y,3) then gen=1 when y==@copy then cop=1 when y==@test then test=1 otherwise call er 55,y end end
if test then do
tfid=tmp':\'!fn".DAT" do k=0 to 255 call $t ".BOX .BLOCK=12 .J=c .E=1 .A=-1 .F="tfid 'x'right("0"d2x(j),2)'='d2c(j) end exit end
if \gen then do
if !== then call $t '.A=-1' tops ".H=yellow .E=1 Issue("!fn @generate')to generate the' !fn "files:" fids exit 1 end
nr=0
do k=0 to 2 @erase tfid.k end
call $t ".P=99 .A=1" tops !fn 'is creating the temporary program:('tfid.0")as a templete for" fids call $t tops !fn 'is listing the records as they are being written to('tfid.0")"
pblank='0f'x /*pseudo-blank character used by $T. */ indentb=copies(pblank,21) /*☼ chars are translated to blanks by $T.*/
pro.= pro.1 =asub.1 pro.2 = pro.3 =scomm indentb"This REXX program was created by" !fn !ft !fm ecomm pro.4 =scomm indentb"created:" date('W') left(date('U'),6)left(date('S'),4) time() ecomm pro.30=" " pro.40="_=space(!!) /*get 1st arg, preserve case.*/" pro.50=" /*don't support ? for $BLOCK.*/" pro.60="if _== then _=' '" pro.62="if words(_)>1 then call er 59" pro.64="c2bb='character-to-be-blocked'" pro.70=" " pro.71="if length(_)==2 then do" pro.73=indentb"if \datatype(_,'X') then call er 40,_ c2bb" pro.75=indentb"_=x2c(_)" pro.77=indentb"end" pro.79=" " pro.82="if length(_)\==1 then call er 30,_ c2bb 1" pro.83="?=0" pro.84="_=c2x(_)" pro.97=pblank pro.98=pblank pro.99='/*═════════════════════════════general 1-line subs══════════════════════*/'
do k=1 for 99 if pro.k\== then call wr pro.k end
/*──────────────────────*/ /* x'00' (no graphic character)*/
/*──────────────────────*/ _=c2x("☺") /* x'01' happy face.*/ call charbits , ' 1111111111 '||, '111111111111'||, '11 11'||, '11 11 11 11'||, '11 11 11 11'||, '11 11'||, '11 11'||, '11 1111 11'||, '11 11 11'||, '11 11'||, '111111111111'||, ' 1111111111 '
/*──────────────────────*/ _=c2x("☻") /* x'02' solid/reverse happy face*/ call charbits , ' 1111111111 '||, '111111111111'||, '111111111111'||, '111 11 111'||, '111 11 111'||, '111111111111'||, '111111111111'||, '1111 1111'||, '11111 11111'||, '111111111111'||, '111111111111'||, ' 1111111111 '
/*──────────────────────*/ _=c2x("♥") /* x'03' heart, card suit.*/ call charbits , ' 11 11 '||, ' 1111 1111 '||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, ' 1111111111 '||, ' 1111111111 '||, ' 11111111 '||, ' 111111 '||, ' 1111 '||, ' 11 '
/*──────────────────────*/ _=c2x("♦") /* x'04' diamond, card suit.*/ call charbits , ' 11 '||, ' 1111 '||, ' 111111 '||, ' 11111111 '||, ' 1111111111 '||, '111111111111'||, '111111111111'||, ' 1111111111 '||, ' 11111111 '||, ' 111111 '||, ' 1111 '||, ' 11 '
/*──────────────────────*/ _=c2x("♣") /* x'05' club, card suit.*/ call charbits , ' 1111 '||, ' 111111 '||, ' 111111 '||, ' 1111 '||, ' 11 11 11 '||, ' 1111111111 '||, '111111111111'||, '111111111111'||, ' 1111111111 '||, ' 11 11 11 '||, ' 11 '||, ' 1111 '
/*──────────────────────*/ _=c2x("♠") /* x'06' spade, card suit.*/ call charbits , ' 11 '||, ' 1111 '||, ' 111111 '||, ' 11111111 '||, ' 1111111111 '||, '111111111111'||, '111111111111'||, '111111111111'||, ' 1111111111 '||, ' 11 11 11 '||, ' 11 '||, ' 1111 '
/*──────────────────────*/ _='07'x /* x'07' round bullet.*/
/*──────────────────────*/ /* x'07' bell (beep). */
call charbits ,
' '||,
' '||,
' '||,
' 1111 '||,
' 111111 '||,
' 111111 '||,
' 111111 '||,
' 111111 '||,
' 1111 '||,
' '||,
' '||,
' '
/*──────────────────────*/ _='08'x /* x'08' reverse round bullet.*/ /*──────────────────────*/ /* x'08' b/s (backspace).*/ call charbits , '111111111111'||, '111111111111'||, '111111111111'||, '1111 1111'||, '111 111'||, '111 111'||, '111 111'||, '111 111'||, '1111 1111'||, '111111111111'||, '111111111111'||, '111111111111'
/*──────────────────────*/ _='09'x /* x'09' hollow round bullet.*/ /*──────────────────────*/ /* x'09' tab (horizontal).*/ call charbits , ' '||, ' 11111111 '||, ' 1111111111 '||, ' 111 111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111 111 '||, ' 1111111111 '||, ' 11111111 '||, ' '
/*──────────────────────*/ _=d2x(10) /* x'0a' reverse hollow round bullet*/ /*──────────────────────*/ /* x'0a' l/f (line-feed).*/ call charbits , '111111111111'||, '111111111111'||, '111 111'||, '11 1111 11'||, '11 111111 11'||, '11 111111 11'||, '11 111111 11'||, '11 111111 11'||, '11 1111 11'||, '111 111'||, '111111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("♂") /* x'0b' male symbol (biology).*/ call charbits , ' 111111'||, ' 11111'||, ' 1111'||, ' 11 11'||, ' 111111 1'||, ' 11111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x("♀") /* x'0c' female symbol (biology).*/ call charbits , ' 111111 '||, ' 11111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11111111 '||, ' 111111 '||, ' 11 '||, ' 11 '||, ' 11111111 '||, ' 11111111 '||, ' 11 '
/*──────────────────────*/ _=d2x(13) /* x'0d' music note.*/ /*──────────────────────*/ /* x'0d' c/r (carriage-return).*/ call charbits , ' 11111111111'||, ' 11111111111'||, ' 11 11'||, ' 11 11'||, ' 11111111111'||, ' 11111111111'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '111 '||, '11 '
/*──────────────────────*/ _=c2x("♫") /* x'0e' music note.*/ call charbits , ' 11111111111'||, ' 11111111111'||, ' 11 11'||, ' 11 11'||, ' 11111111111'||, ' 11111111111'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11 111'||, '111 11 '||, '11 '
/*──────────────────────*/ _=c2x("☼") /* x'0f' sun burst.*/ call charbits , '1 1111 1'||, '11 1111 11'||, ' 11 1111 11 '||, ' 11111111 '||, '111111111111'||, '11111 11111'||, '11111 11111'||, '111111111111'||, ' 11111111 '||, ' 11 1111 11 '||, '11 1111 11'||, '1 1111 1'
/*──────────────────────*/ _=c2x("►") /* x'10' solid right arrow.*/ call charbits , '11 '||, '1111 '||, '111111 '||, '11111111 '||, '1111111111 '||, '111111111111'||, '111111111111'||, '1111111111 '||, '11111111 '||, '111111 '||, '1111 '||, '11 '
/*──────────────────────*/ _=c2x("◄") /* x'11' solid left arrow.*/ call charbits , ' 11'||, ' 1111'||, ' 111111'||, ' 11111111'||, ' 1111111111'||, '111111111111'||, '111111111111'||, ' 1111111111'||, ' 11111111'||, ' 111111'||, ' 1111'||, ' 11'
/*──────────────────────*/ _=c2x("↕") /* x'12' up-down arrow.*/ call charbits , ' 11 '||, ' 1111 '||, ' 111111 '||, ' 11111111 '||, ' 1111111111 '||, ' 11 '||, ' 11 '||, ' 1111111111 '||, ' 11111111 '||, ' 111111 '||, ' 1111 '||, ' 11 '
/*──────────────────────*/ _=c2x("‼") /* x'13' double exclamation point.*/ call charbits , ' 11 11 '||, ' 1111 1111 '||, ' 1111 1111 '||, ' 1111 1111 '||, ' 1111 1111 '||, ' 1111 1111 '||, ' 11 11 '||, ' 11 11 '||, ' '||, ' '||, ' 11 11 '||, ' 11 11 '
/*──────────────────────*/ _=c2x("¶") /* x'14' paragraph.*/ call charbits , ' 11111111111'||, '111111111111'||, '11 11 11'||, '11 11 11'||, '11 11 11'||, '11111111 11'||, ' 1111111 11'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11 11'
/*──────────────────────*/ _=c2x("§") /* x'15' section.*/ call charbits , ' 111111 '||, ' 11111111 '||, ' 11 '||, ' 1111 '||, ' 111111 '||, ' 11 11 '||, ' 11 11 '||, ' 111111 '||, ' 1111 '||, ' 11 '||, ' 11111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x("▬") /* x'16' low square bullet.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x("↨") /* x'17' lined up-down arrow.*/ call charbits , ' 11 '||, ' 1111 '||, ' 111111 '||, ' 11111111 '||, ' 1111111111 '||, ' 11 '||, ' 1111111111 '||, ' 11111111 '||, ' 111111 '||, ' 1111 '||, ' 11 '||, '111111111111'
/*──────────────────────*/ _=c2x("↑") /* x'18' up arrow.*/ call charbits , ' 11 '||, ' 1111 '||, ' 111111 '||, ' 11 11 11 '||, ' 11 11 11 '||, '11 11 11'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("↓") /* x'19' down arrow.*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '11 11 11'||, ' 11 11 11 '||, ' 11 11 11 '||, ' 111111 '||, ' 1111 '||, ' 11 '
/*──────────────────────*/ _=d2x(26) /* x'1a' right arrow.*/ /*──────────────────────*/ /* x'1a' eof (end-of-file).*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '111111111111'||, '111111111111'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=d2x(27) /* x'1b' left arrow.*/ /*──────────────────────*/ /* x'1b' esc (escape).*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '111111111111'||, '111111111111'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("∟") /* x'1c' floor.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 111111 '||, ' 111111 '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("↔") /* x'1d' left-right arrow.*/ call charbits , ' '||, ' 1 1 '||, ' 11 11 '||, ' 111 111 '||, ' 1111 1111 '||, '111111111111'||, '111111111111'||, ' 1111 1111 '||, ' 111 111 '||, ' 11 11 '||, ' 1 1 '||, ' '
/*──────────────────────*/ _=c2x("∟") /* x'1c' floor.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 111111 '||, ' 111111 '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("↔") /* x'1d' left-right arrow.*/ call charbits , ' '||, ' 1 1 '||, ' 11 11 '||, ' 111 111 '||, ' 1111 1111 '||, '111111111111'||, '111111111111'||, ' 1111 1111 '||, ' 111 111 '||, ' 11 11 '||, ' 1 1 '||, ' '
/*──────────────────────*/ _=c2x("▲") /* x'1e' solid up arrow.*/ call charbits , ' 11 '||, ' 11 '||, ' 1111 '||, ' 1111 '||, ' 111111 '||, ' 111111 '||, ' 11111111 '||, ' 11111111 '||, ' 1111111111 '||, ' 1111111111 '||, '111111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("▼") /* x'1f' solid down arrow.*/ call charbits , '111111111111'||, '111111111111'||, ' 1111111111 '||, ' 1111111111 '||, ' 11111111 '||, ' 11111111 '||, ' 111111 '||, ' 111111 '||, ' 1111 '||, ' 1111 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x(" ") /* x'20' blank.*/
/*bypass this char, it's assumed as a default ...*/
/*──────────────────────*/ _=c2x("!") /* x'21' exclaimation point.*/ call charbits , ' 11 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x('"') /* x'22' double quote.*/ call charbits , ' 11 11 '||, ' 11 11 '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("#") /* x'23' pound, hash, octothorpe.*/ call charbits , ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '111111111111'||, '111111111111'||, ' 11 11 '||, ' 11 11 '||, '111111111111'||, '111111111111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '
/*──────────────────────*/ _=c2x("$") /* x'24' dollar (currancy).*/ call charbits , ' 11 '||, ' 1111111111 '||, '111111111111'||, '11 11 '||, '11 11 '||, '11111111111 '||, ' 11111111111'||, ' 11 11'||, ' 11 11'||, '111111111111'||, ' 1111111111 '||, ' 11 '
/*──────────────────────*/ _=c2x("%") /* x'25' per cent.*/ call charbits , ' 111 11'||, '11111 11 '||, '11 11 11 '||, '11111 11 '||, ' 111 11 '||, ' 11 '||, ' 11 '||, ' 11 111 '||, ' 11 11111'||, ' 11 11 11'||, '11 11111'||, '1 111 '
/*──────────────────────*/ _=c2x("&") /* x'26' ampersand, and.*/ call charbits , ' 1111111 '||, ' 111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11111 '||, ' 11111 '||, ' 11 11 11'||, '11 11 11'||, '11 1111'||, '11111111111 '||, ' 11111111111'
/*──────────────────────*/ _=c2x("'") /* x'27' single quote, apostrophe*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("(") /* x'28' left parenthesis.*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x(")") /* x'29' right parenthesis.*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("*") /* x'2a' asterisk, star.*/ call charbits , '11 11'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111 '||, '111111111111'||, '111111111111'||, ' 1111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '11 11'
/*──────────────────────*/ _=c2x("+") /* x'2b' plus sign.*/ call charbits , ' '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11111111 '||, ' 11111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' '
/*──────────────────────*/ _=c2x(",") /* x'2c' comma.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("-") /* x'2d' minus sign.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x(".") /* x'2e' period, dot, decimal pt.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("/") /* x'2f' forward slash, solidus.*/ call charbits , ' 11'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '11 '||, '1 '
/*──────────────────────*/ _=c2x("0") /* x'30' digit 0 (zero).*/ call charbits , ' 11111111 '||, ' 1111111111 '||, ' 111 111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 11 '||, ' 11 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111 111 '||, ' 1111111111 '||, ' 11111111 '
/*──────────────────────*/ _=c2x("1") /* x'31' digit 1 (one).*/ call charbits , ' 11 '||, ' 111 '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x("2") /* x'32' digit 2 (two).*/ call charbits , ' 11111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 1111111111 '
/*──────────────────────*/ _=c2x("3") /* x'33' digit 3 (three).*/ call charbits , ' 11111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 '||, ' 11 '||, ' 111 '||, ' 111 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 11111111 '
/*──────────────────────*/ _=c2x("4") /* x'34' digit 4 (four).*/ call charbits , ' 111 '||, ' 1111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 1111111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("5") /* x'35' digit 5 (five).*/ call charbits , ' 1111111111 '||, ' 1111111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111111 '||, ' 11111111 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 11111111 '
/*──────────────────────*/ _=c2x("6") /* x'36' digit 6 (six).*/ call charbits , ' 1111111 '||, ' 111111111 '||, ' 11 11 '||, ' 11 '||, ' 11 '||, ' 11 111111 '||, ' 1111111111 '||, ' 111 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x("7") /* x'37' digit 7 (seven).*/ call charbits , ' 1111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("8") /* x'38' digit 8 (eight).*/ call charbits , ' 111111 '||, ' 11111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111111 '||, ' 111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x("9") /* x'39' digit 9 (nine).*/ call charbits , ' 1111111 '||, ' 111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 111 '||, ' 111111111 '||, ' 11111 11 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 11111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x(":") /* x'3a' colon.*/ call charbits , ' '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' '||, ' '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' '
/*──────────────────────*/ _=c2x(";") /* x'3b' semicolon.*/ call charbits , ' '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' '||, ' '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("<") /* x'3c' less than.*/ call charbits , ' 11'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '11 '||, '11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11'
/*──────────────────────*/ _=c2x("=") /* x'3d' equal sign.*/ call charbits , ' '||, ' '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x(">") /* x'3e' greater than.*/ call charbits , '11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11'||, ' 11'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '11 '
/*──────────────────────*/ _=c2x("?") /* x'3f' question mark.*/ call charbits , ' 1111 '||, ' 111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' 11 '
/*──────────────────────*/ _=c2x("@") /* x'40' commercial at.*/ call charbits , ' 1111111111 '||, '111111111111'||, '11 11'||, '11 11111 11'||, '11 111111 11'||, '11 11 11 11'||, '11 11111111 '||, '11 111111 '||, '11 '||, '11 '||, ' 1111111111 '||, ' 111111111 '
/*──────────────────────*/ _=c2x("A") /* x'41' letter A, uppercase.*/ call charbits , ' 11 '||, ' 1111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, '1111 1111'||, '1111 1111'
/*──────────────────────*/ _=c2x("B") /* x'42' letter B, uppercase.*/ call charbits , '11111111111 '||, '111111111111'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11111111111'||, ' 1111111111 '||, ' 11 11'||, ' 11 11'||, ' 11 11'||, '111111111111'||, '11111111111 '
/*──────────────────────*/ _=c2x("C") /* x'43' letter C, uppercase.*/ call charbits , ' 1111111111 '||, '111111111111'||, '111 11'||, '11 11'||, '11 '||, '11 '||, '11 '||, '11 '||, '11 11'||, '111 11'||, '111111111111'||, ' 1111111111 '
/*──────────────────────*/ _=c2x("D") /* x'44' letter D, uppercase.*/ call charbits , '1111111111 '||, '11111111111 '||, ' 11 111'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11 111'||, '11111111111 '||, '1111111111 '
/*──────────────────────*/ _=c2x("E") /* x'45' letter E, uppercase.*/ call charbits , '111111111111'||, '111111111111'||, '11 11'||, '11 '||, '11 11 '||, '1111111 '||, '1111111 '||, '11 11 '||, '11 '||, '11 11'||, '111111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("F") /* x'46' letter F, uppercase.*/ call charbits , '111111111111'||, '111111111111'||, '11 11'||, '11 '||, '11 11 '||, '1111111 '||, '1111111 '||, '11 11 '||, '11 '||, '11 '||, '11 '||, '11 '
/*──────────────────────*/ _=c2x("G") /* x'47' letter G, uppercase.*/ call charbits , ' 1111111111 '||, '111111111111'||, '111 11'||, '11 '||, '11 '||, '11 '||, '11 1111111'||, '11 1111111'||, '11 11 11'||, '111 111'||, '111111111111'||, ' 111111111 '
/*──────────────────────*/ _=c2x("H") /* x'48' letter H, uppercase.*/ call charbits , '1111 1111'||, '1111 1111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '1111 1111'||, '1111 1111'
/*──────────────────────*/ _=c2x("I") /* x'49' letter I, uppercase.*/ call charbits , ' 111111 '||, ' 111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 111111 '||, ' 111111 '
/*──────────────────────*/ _=c2x("J") /* x'4a' letter J, uppercase.*/ call charbits , ' 11111111'||, ' 11111111'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '11 11 '||, '11 11 '||, '11 11 '||, '111 111 '||, ' 1111111 '||, ' 11111 '
/*──────────────────────*/ _=c2x("K") /* x'4b' letter K, uppercase.*/ call charbits , '1111 111'||, '1111 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111111 '||, ' 111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '1111 11 '||, '1111 111'
/*──────────────────────*/ _=c2x("L") /* x'4c' letter L, uppercase.*/ call charbits , '1111 '||, '1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 1111'||, ' 11 1111'||, ' 11 11 '||, ' 1111111111 '||, ' 1111111111 '
/*──────────────────────*/ _=c2x("M") /* x'4d' letter M, uppercase.*/ call charbits , '111 111'||, '111 111'||, ' 111 111 '||, ' 1111 1111 '||, ' 1111111111 '||, ' 11 1111 11 '||, ' 11 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '1111 1111'||, '1111 1111'
/*──────────────────────*/ _=c2x("N") /* x'4e' letter N, uppercase.*/ call charbits , '111 1111'||, '111 1111'||, ' 111 11 '||, ' 1111 11 '||, ' 11111 11 '||, ' 11 111 11 '||, ' 11 111 11 '||, ' 11 11111 '||, ' 11 1111 '||, ' 11 111 '||, '1111 111'||, '1111 111'
/*──────────────────────*/ _=c2x("O") /* x'4f' letter O, uppercase.*/ call charbits , ' 1111111111 '||, '111111111111'||, '111 111'||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, '111 111'||, '111111111111'||, ' 1111111111 '
/*──────────────────────*/ _=c2x("P") /* x'50' letter P, uppercase.*/ call charbits , '11111111111 '||, '111111111111'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11111111111'||, ' 1111111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, '1111 '||, '1111 '
/*──────────────────────*/ _=c2x("Q") /* x'51' letter Q, uppercase.*/ call charbits , ' 1111111111 '||, '111111111111'||, '111 111'||, '11 11'||, '11 11'||, '11 11'||, '11 11 11'||, '11 11 11'||, '11 11 11'||, '111 11 11'||, '111111111111'||, ' 1111111111 '
/*──────────────────────*/ _=c2x("R") /* x'52' letter R, uppercase.*/ call charbits , '11111111111 '||, '111111111111'||, ' 11 11'||, ' 11 11'||, ' 11 11'||, ' 11111111111'||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '1111 11 '||, '1111 11'
/*──────────────────────*/ _=c2x("S") /* x'53' letter S, uppercase.*/ call charbits , ' 11111111 '||, ' 1111111111 '||, ' 111 11 '||, ' 11 1111'||, ' 11 '||, ' 1111111 '||, ' 1111111 '||, ' 111 '||, '1111 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 11111111 '
/*──────────────────────*/ _=c2x("T") /* x'54' letter T, uppercase.*/ call charbits , '111111111111'||, '111111111111'||, '11 11 11'||, '11 11 11'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("U") /* x'55' letter U, uppercase.*/ call charbits , '1111 1111'||, '1111 1111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111 111 '||, ' 1111111111 '||, ' 11111111 '
/*──────────────────────*/ _=c2x("V") /* x'56' letter V, uppercase.*/ call charbits , '1111 1111'||, '1111 1111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111 '||, ' 11 '
/*──────────────────────*/ _=c2x("W") /* x'57' letter W, uppercase.*/ call charbits , '1111 1111'||, '1111 1111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 11 '||, ' 11 1111 11 '||, ' 1111111111 '||, ' 1111 1111 '||, ' 111 111 '||, ' 11 11 '||, ' 11 11 '
/*──────────────────────*/ _=c2x("X") /* x'58' letter X, uppercase.*/ call charbits , '1111 1111'||, '1111 1111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111 '||, ' 1111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '1111 1111'||, '1111 1111'
/*──────────────────────*/ _=c2x("Y") /* x'59' letter Y, uppercase.*/ call charbits , '1111 1111'||, '1111 1111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("Z") /* x'5a' letter Z, uppercase.*/ call charbits , '111111111111'||, '111111111111'||, '11 111 '||, '11 111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' 111 11'||, ' 111 11'||, '111111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("[") /* x'5b' left bracket.*/ call charbits , ' 1111 '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("\") /* x'5c' backslash.*/ call charbits , '11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11'||, ' 1'
/*──────────────────────*/ _=c2x("]") /* x'5d' right bracket.*/ call charbits , ' 1111 '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("^") /* x'5e' carot.*/ call charbits , ' 11 '||, ' 1111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '11 11'||, '1 1'||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("_") /* x'5f' underbar, underscore.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' 1111111111 '||, ' 1111111111 '
/*──────────────────────*/ _=c2x("`") /* x'60' grave accent.*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("a") /* x'61' letter a, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 1111111 '||, ' 11111111 '||, ' 11 '||, ' 111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 1111111111 '||, ' 1111111111'||, ' '
/*──────────────────────*/ _=c2x("b") /* x'62' letter b, lowercase. */ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 111111111 '||, ' '
/*──────────────────────*/ _=c2x("c") /* x'63' letter c, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 11111111 '||, ' '
/*──────────────────────*/ _=c2x("d") /* x'64' letter d, lowercase. */ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 111111111 '||, ' '
/*──────────────────────*/ _=c2x("e") /* x'65' letter e, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 1111111111 '||, ' 1111111111 '||, ' 11 '||, ' 111111111 '||, ' 1111111 '||, ' '
/*──────────────────────*/ _=c2x("f") /* x'66' letter f, lowercase. */ call charbits , ' 1111 '||, ' 111111 '||, ' 11 11 '||, ' 11 '||, ' 111111 '||, ' 111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '
/*──────────────────────*/ _=c2x("g") /* x'67' letter g, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 111111111 '||, ' 11 '||, ' 1111111111 '||, ' 11111111 '
/*──────────────────────*/ _=c2x("h") /* x'68' letter h, lowercase. */ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 11111 '||, ' 111111111 '||, ' 111 111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' '
/*──────────────────────*/ _=c2x("i") /* x'69' letter i, lowercase. */ call charbits , ' '||, ' 11 '||, ' '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' '
/*──────────────────────*/ _=c2x("j") /* x'6a' letter j, lowercase. */ call charbits , ' '||, ' 11 '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("k") /* x'6b' letter k, lowercase. */ call charbits , ' 11 '||, ' 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111111 '||, ' 111 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' '
/*──────────────────────*/ _=c2x("l") /* x'6c' letter l, lowercase. */ call charbits , ' 111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' '
/*──────────────────────*/ _=c2x("m") /* x'6d' letter m, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 1111 111 '||, ' 1111111111 '||, ' 11 11 11 '||, ' 11 11 11 '||, ' 11 11 11 '||, ' 11 11 11 '||, ' 11 11 11 '||, ' 11 11 11 '||, ' ' /*──────────────────────*/ _=c2x("n") /* x'6e' letter n, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 111 11111 '||, ' 1111111111 '||, ' 111 111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' '
/*──────────────────────*/ _=c2x("o") /* x'6f' letter o, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 11111111 '||, ' '
/*──────────────────────*/ _=c2x("p") /* x'70' letter p, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 111111111 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("q") /* x'71' letter q, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 111111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 111111111 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("r") /* x'72' letter r, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11 111111 '||, ' 1111111111 '||, ' 111 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '
/*──────────────────────*/ _=c2x("s") /* x'73' letter s, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11111111 '||, ' 1111111111 '||, ' 11 '||, ' 111111111 '||, ' 111111111 '||, ' 11 '||, ' 1111111111 '||, ' 11111111 '||, ' '
/*──────────────────────*/ _=c2x("t") /* x'74' letter t, lowercase. */ call charbits , ' 11 '||, ' 11 '||, ' 11111111 '||, ' 11111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 111111 '||, ' 1111 '||, ' '
/*──────────────────────*/ _=c2x("u") /* x'75' letter u, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 1111111 11'||, ' '
/*──────────────────────*/ _=c2x("v") /* x'76' letter v, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111 '||, ' 11 '||, ' '
/*──────────────────────*/ _=c2x("w") /* x'77' letter w, lowercase. */ call charbits , ' '||, ' '||, ' '||, '11 11'||, '11 11'||, '11 11 11'||, '11 1111 11'||, '11 11 11 11'||, '1111 1111'||, '111 111'||, '11 11'||, ' '
/*──────────────────────*/ _=c2x("x") /* x'78' letter x, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 111 111 '||, ' 11 11 '||, ' 11 11 '||, ' 1111 '||, ' 1111 '||, ' 11 11 '||, ' 11 11 '||, ' 111 111 '||, ' '
/*──────────────────────*/ _=c2x("y") /* x'79' letter y, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111111111 '||, ' 11111111 '||, ' 11 '||, ' 1111111111 '||, ' 11111111 '
/*──────────────────────*/ _=c2x("z") /* x'7a' letter z, lowercase. */ call charbits , ' '||, ' '||, ' '||, ' 1111111111 '||, ' 1111111111 '||, ' 11 '||, ' 111 '||, ' 111 '||, ' 11 '||, ' 1111111111 '||, ' 1111111111 '||, ' '
/*──────────────────────*/ _=c2x("{") /* x'7b' left brace.*/ call charbits , ' 111 '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 111 '
/*──────────────────────*/ _=c2x("|") /* x'7c' broken vertical bar.*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("}") /* x'7d' right brace.*/ call charbits , ' 111 '||, ' 1111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 111 '
/*──────────────────────*/ _=c2x("~") /* x'7e' tilde.*/ call charbits , ' '||, ' 111 '||, ' 111111 111'||, '1111 11111 '||, '111 111 '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("⌂") /* x'7f' irregular pentagon,house*/ call charbits , ' 11 '||, ' 1111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, '111111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("¢") /* x'9b' cent (currency).*/ call charbits , ' 11 '||, ' 11 '||, ' 11111111 '||, ' 1111111111 '||, ' 11 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 11 '||, ' 1111111111 '||, ' 11111111 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("£") /* x'9c' pound (currency).*/ call charbits , ' 11111 '||, ' 1111111 '||, ' 111 111 '||, ' 11 11 '||, ' 11 '||, '111111 '||, '111111 '||, ' 11 '||, ' 11 '||, ' 111 11'||, '11 111111111'||, ' 1111111111 '
/*──────────────────────*/ _=c2x("¥") /* x'9d' yen (currency).*/ call charbits , '1111 1111'||, '1111 1111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111 '||, ' 1111111111 '||, ' 1111111111 '||, ' 11 '||, ' 1111111111 '||, ' 1111111111 '||, ' 11 '
/*──────────────────────*/ _=c2x("₧") /* x'9e' peseta (currency).*/ call charbits , '11111111 '||, '111111111 '||, '11 11 '||, '11 11 '||, '111111111 '||, '11111111 11'||, '11 11 11 '||, '11 1111 11 '||, '11 11 11'||, '11 11 11'||, '11 11 11'||, '11 11 11 '
/*──────────────────────*/ _=c2x("ƒ") /* x'9f' franc (currency).*/ call charbits , ' 1111 '||, ' 111111 '||, ' 11 11 '||, ' 11 '||, ' 111111 '||, ' 111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 111111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("¿") /* x'a8' Spanish question mark.*/ call charbits , ' 11 '||, ' '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111111 '||, ' 1111 '
/*──────────────────────*/ _=c2x("⌐") /* x'a9' reverse not.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' '
/*──────────────────────*/ _=c2x("¬") /* x'aa' logical not.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' '
/*──────────────────────*/ _=c2x("½") /* x'ab' one-half fraction (1/2).*/ call charbits , ' 1 11'||, '11 11 '||, ' 1 11 '||, ' 1 11 '||, ' 1 11 '||, ' 1 11 111 '||, '111 11 1 1'||, ' 11 1 '||, ' 11 1 '||, ' 11 1 '||, '11 1 '||, '1 11111'
/*──────────────────────*/ _=c2x("¼") /* x'ac' one-fourth fraction (1/4)*/ call charbits , ' 1 11'||, '11 11 '||, ' 1 11 '||, ' 1 11 '||, ' 1 11 '||, ' 1 11 1 '||, '111 11 11 '||, ' 11 1 1 '||, ' 11 1 1 '||, ' 11 111111'||, '11 1 '||, '1 1 '
/*──────────────────────*/ _=c2x("¡") /* x'ad' Spanish exclaimation mark*/ call charbits , ' 11 '||, ' 11 '||, ' '||, ' 11 '||, ' 11 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 1111 '||, ' 11 '
/*──────────────────────*/ _=c2x("«") /* x'ae' left double carot.*/ call charbits , ' 11 11'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '11 11 '||, '11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11'
/*──────────────────────*/ _=c2x("»") /* x'af' much greater than.*/ call charbits , '11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11'||, ' 11 11'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '11 11 '
/*──────────────────────*/ _=c2x("░") /* x'b0' light dither block.*/ call charbits , ' 11 11 11 11'||, '1 1 1 1 '||, ' 11 11 11 11'||, '1 1 1 1 '||, ' 11 11 11 11'||, '1 1 1 1 '||, ' 11 11 11 11'||, '1 1 1 1 '||, ' 11 11 11 11'||, '1 1 1 1 '||, ' 11 11 11 11'||, '1 1 1 1 '
/*──────────────────────*/ _=c2x("▒") /* x'b1' medium dither block.*/ call charbits , ' 11 11 11 11'||, '11 11 11 11 '||, ' 11 11 11 11'||, '11 11 11 11 '||, ' 11 11 11 11'||, '11 11 11 11 '||, ' 11 11 11 11'||, '11 11 11 11 '||, ' 11 11 11 11'||, '11 11 11 11 '||, ' 11 11 11 11'||, '11 11 11 11 '
/*──────────────────────*/ _=c2x("▓") /* x'b2' heavy dither block.*/ call charbits , '111 111 111 '||, ' 111 111 111'||, '111 111 111 '||, ' 111 111 111'||, '111 111 111 '||, ' 111 111 111'||, '111 111 111 '||, ' 111 111 111'||, '111 111 111 '||, ' 111 111 111'||, '111 111 111 '||, ' 111 111 111'
/*──────────────────────*/ _=c2x("│") /* x'b3' vertical bar.*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("─") /* x'c4' hyphen, dash.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, '111111111111'||, '111111111111'||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("█") /* x'db' full block.*/ call charbits , '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("▄") /* x'dc' bottom block.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' '||, ' '||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("▌") /* x'dd' left block.*/ call charbits , '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '||, '111111 '
/*──────────────────────*/ _=c2x("▐") /* x'de' right block.*/ call charbits , ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'||, ' 111111'
/*──────────────────────*/ _=c2x("▀") /* x'df' top block.*/ call charbits , '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, '111111111111'||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("α") /* x'e0' lowercase Greek alpha.*/ call charbits , ' '||, ' '||, ' '||, ' 111111 11'||, ' 11111111111'||, '11 1111 '||, '11 11 '||, '11 11 '||, '11 111 '||, ' 1111111111 '||, ' 111111 11'||, ' '
/*──────────────────────*/ _=c2x("ß") /* x'e1' lowercase Greek beta.*/ call charbits , ' 11111111 '||, ' 1111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 111111111 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 111111111 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("Γ") /* x'e2' uppercase Greek gamma.*/ call charbits , '111111111111'||, '111111111111'||, '11 11'||, '11 11'||, '11 '||, '11 '||, '11 '||, '11 '||, '11 '||, '11 '||, '11 '||, '11 '
/*──────────────────────*/ _=c2x("π") /* x'e3' lowercase Greek pi.*/ call charbits , ' '||, ' '||, ' 11111111111'||, '111111111111'||, '11 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111 111 '||, ' 111 111'
/*──────────────────────*/ _=c2x("Σ") /* x'e4' uppercase Greek sigma.*/ call charbits , '111111111111'||, ' 11111111111'||, ' 11 11'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 11'||, ' 11111111111'||, '111111111111'
/*──────────────────────*/ _=c2x("σ") /* x'e5' lowercase Greek sigma.*/ call charbits , ' '||, ' '||, ' '||, ' '||, ' 1111111111'||, ' 11111111111'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 1111111111 '||, ' 11111111 '||, ' '
/*──────────────────────*/ _=c2x("µ") /* x'e6' lowercase Greek mu.*/ call charbits , ' '||, ' '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 111 111 '||, ' 111111111 '||, ' 11 '||, '11 '
/*──────────────────────*/ _=c2x("τ") /* x'e7' uppercase Greek tau.*/ call charbits , ' 111 111 11'||, '111111111111'||, '11 11 111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '
/*──────────────────────*/ _=c2x("Φ") /* x'e8' uppercase Greek phi.*/ call charbits , ' 11 '||, ' 1111111111 '||, '111111111111'||, '11 11 11'||, '11 11 11'||, '11 11 11'||, '11 11 11'||, '11 11 11'||, '11 11 11'||, '111111111111'||, ' 1111111111 '||, ' 11 '
/*──────────────────────*/ _=c2x("Θ") /* x'e9' lowercase Greek theta.*/ call charbits , ' '||, ' 111111 '||, ' 1111111111 '||, '11 11'||, '11 11'||, '11 111111 11'||, '11 111111 11'||, '11 11'||, '11 11'||, ' 1111111111 '||, ' 111111 '||, ' '
/*──────────────────────*/ _=c2x("Ω") /* x'ea' uppercase Greek omega.*/ call charbits , ' 111111 '||, ' 1111111111 '||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '11111 11111'||, '11111 11111'
/*──────────────────────*/ _=c2x("Ω") /* x'ea' uppercase Greek omega.*/ call charbits , ' 111111 '||, ' 1111111111 '||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, '11 11'||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, '11111 11111'||, '11111 11111'
/*──────────────────────*/ _=c2x("δ") /* x'eb' lowercase Greek delta.*/ call charbits , ' 11111111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' 1111111111 '||, '111111111111'||, '11 11'||, '11 11'||, '11 11'||, '111111111111'||, ' 1111111111 '
/*──────────────────────*/ _=c2x("∞") /* x'ec' infinity.*/ call charbits , ' '||, ' '||, ' '||, ' 111 111 '||, ' 11 1111 11 '||, '11 11 11'||, '11 11 11'||, ' 11 1111 11 '||, ' 111 111 '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("φ") /* x'ed' lowercase Greek phi.*/ call charbits , ' '||, ' '||, ' 11 '||, ' 11111111 '||, ' 1111111111 '||, ' 11 11 11 '||, ' 11 11 11 '||, ' 1111111111 '||, ' 11111111 '||, ' 11 '||, ' '||, ' '
/*──────────────────────*/ _=c2x("ε") /* x'ee' lowercase epsilon, euro.*/ call charbits , ' '||, ' '||, ' 1111 '||, ' 11111111 '||, ' 11 '||, ' 111111 '||, ' 111111 '||, ' 11 '||, ' 11111111 '||, ' 111111 '||, ' '||, ' ' /*──────────────────────*/ _=c2x("∩") /* x'ef' intersection.*/ call charbits , ' '||, ' 1111 '||, ' 111111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' '||, ' '
/*──────────────────────*/ _=c2x("≡") /* x'f0' congruent.*/ call charbits , ' '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' '||, ' '
/*──────────────────────*/ _=c2x("±") /* x'f1' plus or minus sign.*/ call charbits , ' 11 '||, ' 11 '||, ' 11 '||, ' 11111111 '||, ' 11111111 '||, ' 11 '||, ' 11 '||, ' 11 '||, ' '||, ' 11111111 '||, ' 11111111 '||, ' ' /*──────────────────────*/ _=c2x("≥") /* x'f2' greater than or equal to*/ call charbits , ' 111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' 111'||, ' 111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' '||, ' 11111111111'||, ' 11111111111'
/*──────────────────────*/ _=c2x("≤") /* x'f3' less than or equal to.*/ call charbits , ' 111 '||, ' 111 '||, ' 111 '||, ' 111 '||, '111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' 111 '||, ' '||, '11111111111 '||, '11111111111 '
/*──────────────────────*/ _=c2x("÷") /* x'f6' division.*/ call charbits , ' '||, ' '||, ' 11 '||, ' 11 '||, ' '||, '111111111111'||, '111111111111'||, ' '||, ' 11 '||, ' 11 '||, ' '||, ' '
/*──────────────────────*/ _=c2x("≈") /* x'f7' approximately equal to.*/ call charbits , ' '||, ' 111 '||, ' 111111 111'||, '1111 11111 '||, '111 111 '||, ' '||, ' 111 '||, ' 111111 111'||, '1111 11111 '||, '111 111 '||, ' '||, ' '
/*──────────────────────*/ _=c2x("°") /* x'f8' degree.*/ call charbits , ' 1111 '||, ' 111111 '||, ' 11 11 '||, ' 11 11 '||, ' 111111 '||, ' 1111 '||, ' '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("∙") /* x'f9' bullet.*/ call charbits , ' '||, ' '||, ' '||, ' 1111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 1111 '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("√") /* x'fb' root, radical, check mark.*/ call charbits , ' 111111'||, ' 111111'||, ' 11 '||, ' 11 '||, ' 11 '||, ' 11 '||, '111 11 '||, '1111 11 '||, ' 11 11 '||, ' 1111 '||, ' 111 '||, ' 11 '
/*──────────────────────*/ _=c2x("ⁿ") /* x'fc' letter n, superscript.*/ call charbits , ' 111 11111 '||, ' 1111111111 '||, ' 111 111 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' 11 11 '||, ' '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("²") /* x'fd' digit 2, superscript.*/ call charbits , ' 11111111 '||, ' 1111111111 '||, ' 111 111 '||, ' 111 '||, ' 11 '||, ' 11 '||, ' 1111111111 '||, ' 1111111111 '||, ' '||, ' '||, ' '||, ' '
/*──────────────────────*/ _=c2x("■") /* x'fe' square bullet.*/ call charbits , ' '||, ' '||, ' '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' 111111 '||, ' '||, ' '||, ' '
/*──────────────────────*/ /* x'ff' (no graphic character).*/
epi.=
epi.1="return left(?,36,0)"
epi.2=" "
nextepi=80 /*start the epilogue at 80 (+1).*/
do k=2 to words(labs) /*write all lines got with labels*/ _=word(labs,k) /*get a label from the label list*/ call epidef asub._ /*define the next EPI asub, */ end
epi.99="/* ∙∙∙ end-of-program. ∙∙∙ */"
do k=0 for 100 if epi.k\== then call wr epi.k end
call $t tops !fn 'has written('commas(nr)")records to the file:("tfid.0')' call $t '.P=1' tops !fn 'is creating the files:' fids "from the templete("tfid.0')'
do k=1 for 2 call it @copy tfid.0 tfid.k '>NUL' end
call $t '.P=1' tops !fn 'is invoking REXX to optimize the' fids "programs."
do k=1 for 2 @rexx '/l /o' tfid.k end
if cop then do
call $t '.P=1' tops !fn 'is coping the' fids "programs to("@$')' do k=1 for 2 call it @copy tfid.1 @$ "/Y >NUL" end end else call $t '.P=1' tops 'The' fids "programs should be copied to the("@$')directory.'
do k=0 to 0+2*cop @erase tfid.k end
exit
/*─────────────────────────────CHARBITS subroutine──────────────────────*/
charbits:stro=arg(1)
_=right('0'_,2)
if length(stro)\==12*12 then call er 30,x2c(_) 'bitstring' 144
strb=translate(stro,0,' ')
if \isbin(strb) then call er 48,"bitstring" x2c(_)
str=b2x(strb)
strb=translate(str,,0)
len=length(str)
strl=reverse(strip(reverse(strb),'T'))
l00s=len-length(strl)
strr=strip(strb,'T')
r00s=len-length(strip(strb,'T'))
select when str==copies(0,36) then nstr=0 /*all 0s.*/ when str==f36 then nstr="copies('f',36)" /*all 1s.*/ when (l00s-3>r00s) & l00s>5 then nstr="j('"strl"')" /*leading 0s.*/ otherwise nstr="'"strr"'" /*no trailing 0s.*/ end
nstr=translate(nstr,0,' ') __=x2c(_) if c2d(__)<32 then __=_ /*if < '20x', don't show char.*/ call wr "if _=='"_"'" scomm right(__,2) ecomm 'then ?='nstr return 0
/*═════════════════════════════general 1-line subs══════════════════════*/
!all:!!=!;!=space(!);upper !;call !fid;!nt=right(!var('OS'),2)=='NT';!cls=word('CLS VMFCLEAR CLRSCREEN',1+!cms+!tso*2);if arg(1)\==1 then return 0;if wordpos(!,'? ?SAMPLES ?AUTHOR ?FLOW')==0 then return 0;!call=']$H';call '$H' !fn !;!call=;return 1
!cal:if symbol('!CALL')\=="VAR" then !call=;return !call
!env:!env='ENVIRONMENT';if !sys=='MSDOS'|!brexx|!r4|!roo then !env='SYSTEM';if !os2 then !env='OS2'!env;!ebcdic=1=='f0'x;if !crx then !env='DOS';return
!fid:parse upper source !sys !fun !fid . 1 . . !fn !ft !fm .;call !sys;if !dos then do;_=lastpos('\',!fn);!fm=left(!fn,_);!fn=substr(!fn,_+1);parse var !fn !fn '.' !ft;end;return word(0 !fn !ft !fm,1+('0'arg(1)))
!rex:parse upper version !ver !vernum !verdate .;!brexx='BY'==!vernum;!kexx='KEXX'==!ver;!pcrexx='REXX/PERSONAL'==!ver|'REXX/PC'==!ver;!r4='REXX-R4'==!ver;!regina='REXX-REGINA'==left(!ver,11);!roo='REXX-ROO'==!ver;call !env;return
!sys:!cms=!sys=='CMS';!os2=!sys=='OS2';!tso=!sys=='TSO'|!sys=='MVS';!vse=!sys=='VSE';!dos=pos('DOS',!sys)\==0|pos('WIN',!sys)\==0|!sys=='CMD';!crx=left(!sys,6)=='DOSCRX';call !rex;return
!var:call !fid;if !kexx then return space(dosenv(arg(1)));return space(value(arg(1),,!env))
$fact!:procedure;parse arg x _ .;l=length(x);n=l-length(strip(x,'T',"!"));if n<=-n|_\==|arg()\==1 then return x;z=left(x,l-n);if z<0|\isint(z) then return x;return $fact(z,n)
$fact:procedure;parse arg x _ .;arg ,n ! .;n=p(n 1);if \isint(n) then n=0;if x<-n|\isint(x)|n<1|_||!\==|arg()>2 then return x||copies("!",max(1,n));!=1;s=x//n;if s==0 then s=n;do j=s to x by n;!=!*j;end;return !
$sfxa:parse arg ,s,m;arg u,c;if pos(left(s,2),u)\==0 then do j=length(s) to compare(s,c)-1 by -1;if right(u,j)\==left(c,j) then iterate;_=left(u,length(u)-j);if isnum(_) then return m*_;leave;end;return arg(1)
$sfxf:parse arg y;if right(y,1)=='!' then y=$fact!(y);if \isnum(y) then y=$sfxz();if isnum(y) then return y;return $sfxm(y)
$sfxm:parse arg z;arg w;b=1000;if right(w,1)=='I' then do;z=shorten(z);w=z;upper w;b=1024;end;p=pos(right(w,1),'KMGTPEZYXWVU');if p==0 then return arg(1);n=shorten(z);r=num(n,f,1);if isnum(r) then return r*b**p;return arg(1)
$sfxz:return $sfxa($sfxa($sfxa($sfxa($sfxa($sfxa(y,'PAIRs',2),'DOZens',12),'SCore',20),'GREATGRoss',1728),'GRoss',144),'GOOGOLs',1e100)
$t:!call="]$T";call '$T' arg(1);!call=;return
appenda:procedure;parse arg x,_;if right(x,length(_))\==_ then x=x||_;return x
changestr:procedure;parse arg o,h,n;r=;w=length(o);if w==0 then return n||h;do forever;parse var h y (o) _ +(w) h;if _== then return r||y;r=r||y||n;end
commas:procedure; parse arg _; n=_'.9'; #=123456789; b=verify(n,#,"M"); e=verify(n,#'0',,verify(n,#"0.",'M'))-4; do j=e to b by -3; _=insert(',',_,j); end /*j*/; return _
epidef:nextepi=nextepi+1;epi.nextepi=arg(1);return
er:parse arg _1,_2;call '$ERR' "14"p(_1) p(word(_1,2) !fid(1)) _2;if _1<0 then return _1;exit result
err:call er '-'arg(1),arg(2);return
erx:call er '-'arg(1),arg(2);exit
halt:call er .1
hascol:return pos(':',arg(1))\==0
homedrive:if symbol('HOMEDRIVE')\=="VAR" then homedrive=p(!var('HOMEDRIVE') 'C:');return homedrive
int:if \isint(num(arg(1),arg(2))) then call er 92,arg(1) arg(2);return arg(1)/1
int:int=num(arg(1),arg(2));if \isint(int) then call er 92,arg(1) arg(2);return int/1
isbin:return datatype(arg(1),'B')
isint:return datatype(arg(1),'W')
isnum:return datatype(arg(1),'N')
it:"ARG"(1);if rc==0 then return;call er 68,rc arg(1)
j:return right(arg(1),36,0)
novalue:!sigl=sigl;call er 17,!fid(2) !fid(3) !sigl condition('D') sourceline(!sigl)
num:procedure;parse arg x .,f,q;if x== then return x;if isnum(x) then return x/1;x=space(translate(x,,','),0);if \isnum(x) then x=$sfxf(x);if isnum(x) then return x/1;if q==1 then return x;if q== then call er 53,x f;call erx 53,x f
p:return word(arg(1),1)
prefixa:procedure;parse arg x,_;if left(x,length(_))\==_ then x=_||x;return x
shorten:procedure;parse arg a,n;return left(a,max(0,length(a)-p(n 1)))
squish:return space(translate(arg(1),,word(arg(2) ',',1)),0)
syntax:!sigl=sigl;call er 13,!fid(2) !fid(3) !sigl !cal() condition('D') sourceline(!sigl)
wr:nr=nr+1;call $t fid.0 ".C=darkblue .UT='0F"xblank"'x" arg(1);return</lang>