[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: Interrim XYENC/XYDEC v0.95 release



Reply to note from wbass@xxxxxxxx Sun, 25 Jan 2009 22:30:53 -
0700 (MST)

> I've put up an interim release of the v0.95 XYENC/XYDEC modules
> at
>
> basspad.com/xywrite/xye094x.zip

Got it. Early impressions are that encoding and decoding remain
flawless. I like idea of a unified XYENC.COM, and the new options.
Line breaks are nice and even now.

I've rewritten the Xy4 helper routines to accommodate the new
command-line syntax. I'll post those later, but for now I wanted to
share a new twist, which I added last night, that I think makes the
formatted code listings very clean and "lifelike". I had the idea to
hide some of XYENCode's artifacts, like the apostrophe before
functions ("'BC") and the "'^" encoding for CrLfs, which can be
somewhat distracting. I decided to bury these and one or two other
codes in  deltas, which are completely InVisible except in
eXPanded view. Of course, that means that the formatted output is no
longer directly decodable with XYDEC.COM (because guillemets and
everything between them are discarded upon decoding), but I get
around that by stripping out the undecodable stuff immediately
before feeding it to XYDEC. In fact, the same routine that adds the
IVs also strips them out on demand; it's a toggle. So you can easily
revert to a XYDECodable formatted view.

The demo file below is compatible with Xy3 and 4. Read it in draft
view (func WG). It shows a brief XPL routine from U2 as it looks
natively, then in "raw" XYENCode, then in the formatted view
produced by frame XYFMT -- and then shows what the formatted view
would look like if you toggled eXPanded view, which reveals the IVs.
Finally, there's a formatted view of frame XYFMT2, the toggle that
adds or removes the IVs (called as a child process by XYFMT and
other frames). My hope is that this file will give Wally and other
non-Xy4 users a taste of what these helper frames do.

'%--_XYENCode_start--
~~~'^~Simulation'._Output_of_XYENCode_He
lper_Frames,'^A_Work-in-Progress_for_XyWrite_IV_+_XYWWWEB.U2~<
MDNM~>'^Read_in_Draft_(not_eXPanded'|)_view'^~'^~[
1]_Original_XPL~'^{{5ReJuMP}}_Go_to_specified_location_
(work_around_bad_JuMPs,_tries_3x)_LastRev.3/1/04_[CU]'^~B:~:~'BXjmp_:~'Q2:~<>:~:
~>:~<3:~>:~+1:~>:~:~
:~~B'^'^~[2]_XYENCode_(XYENC/_against_[1
]_above)~'^{{5ReJuMP}}'-Go'-to'-specified'-location'-(w
ork'-around'-bad'-JuMPs,'-t'^ries'-3x)'-LastRev.3/1/04'-[CU]'`
^:'?B:'?:'?'`BXjmp'-:'?'`Q2:'?<>:'?:'?>:'?<3:'?>:'?+1:'?>'^:'?:'?:'?:'?B'`^'`^'^
'^~[3]_Formatted_listing_(XYFMT_against_[1]_or
_[2]_above)~'^{{5ReJuMP}}~_Go~_to~_specified~_location~_(work~_around~<
IV]'-~>_bad~_JuMPs,~_tries~_3x)~_LastRev.3/1/04~_[CU]~'^:~B'^:~'^
~:~~'^~~BX_~jmp~_:~~~Q2_~'^:~<>:
~:~>'^___:~<3:~>'^______:~
+1:~>~:~~'^___:~'^:~'^:~B~'^'^~[4]_Formatted_listing_-_eXPanded_View_(FUNC_
XP_against_[3]_above)~'^{{5ReJuMP}}:~_G
o:~_to:~_specified:~_location:~_(work:~_around:~_bad:~_JuMPs,
:~_tries:~_3x):~_LastRev.3/1/04:~_[CU]:~'^:~B'^:~'^:~:~:~'^:~:~BX_:~jmp:~
_:~:~:~Q2_:~'^:~:~<>:~:~>'^:~:~<3:~>'^:~+1:~>:~:~:~'^
:~:~'^:~:~'^:~B:~'^'^~[5]_Original_XPL_(XYFMT_or_XYDEC_a
gainst_[3]_or_[4]_above)~'^{{5ReJuMP}}_Go_to_specified_
location_(work_around_bad_JuMPs,_tries_3x)_LastRev.3/1/04_[CU]
'^~B:~:~'BXjmp_:~'Q2:~<>:~<
PV50:~>:~>:~<3:~>:~+1:~>:~
:~:~~B'^'^~[6]_Formatted_view_of_frame_XYFM
T2~'^{{5xyfmt2}}~_Apply|Remove~_extra~<
IV]'-~>_(non-XYDECodable)~_formatting~_to|from
~_XYENCode~_structured~_listing~_[CLD~_1/25/09]~'^:~B~~XP_~<
MDNM~>~~TF_~'^:~'^~~BX_~ch/1~_:~252~~'?<~
IV]:~252~~'?<~IV]:~252~~Q
2_~'^:~:~:~>'^:~~'?<~IV]:'`^~~'?>~
|:'-:~252~~'?<~IV]:'-~~'?
>~~_|~~'?<~MDBO~~<
MDRV~>'?>~:'`:~252~~'?<~MDBO~~'?>~~~'?<~IV]:'`~~'?>~|:',~~'?<~MDRV~~'?>~:~252~~'?<~IV]:
',~~'?>~~~'?<~MDRV
~~'?>~|:~>'^~:~~'^:
~:~>0:~>'^:~:~'^:~:~>'^~~BX_~c
h~_:~252:~:~252~~Q2_~'^~<
MDBO~>~BX_~wt~~Q2_~'^~:~~'^~:~'^~:~~'^~:~'^:~~
'?<~IV]:'`^~~'?>~:~252:'`^|~~'?<~IV]:'-~~'?>~~_:~252:'-|~~'?<~MDBO~~'?
>~~~'?<~IV]:'`~~'?
>~:~252~~'?<~MDBO~~
'?>~:'`|~~'?<~IV]:',~~'?>~~~'?<~MDRV~~'?>~:~252:',~~'?<~MDRV~
~'?>~|:~>~:~~'^:~B~
'^~'^
'%--_XYENCode___end--

--
Carl Distefano
cld@xxxxxxxx