qlwiki:qload

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
qlwiki:qload [2018/05/04 22:11]
normandunbar [Decoding Program] Added a mention that DJToolkit required to run the code.
qlwiki:qload [2018/05/05 15:11] (current)
normandunbar [Tokens] Added comments section. Thanks to Ralf R.
Line 26: Line 26:
  
 I am very grateful to [[Per Witte]] and [[Norman Dunbar]] who sent me all sorts of useful information to help me understand the file format. Both sent me programs to help with decoding the programs. Norman wrote a program many years ago to decode these _sav files and as he hadn't updated it for SBASIC, I tentatively volunteered to update it. As it happened, it had been written so well originally that all I had to do was make fairly small changes to allow it to handle two new facilities in SBASIC (integer and hex constants) and change a couple of variable names to avoid clashes with new extension names in SBASIC. Norman kindly gave me permission to publish the new listing. There'​s also a wealth of information in the Jan Jones book, [[QL SuperBASIC (The Definitive Handbook)]] in Appendix C which lists the tokens used to store a SuperBASIC program. I am very grateful to [[Per Witte]] and [[Norman Dunbar]] who sent me all sorts of useful information to help me understand the file format. Both sent me programs to help with decoding the programs. Norman wrote a program many years ago to decode these _sav files and as he hadn't updated it for SBASIC, I tentatively volunteered to update it. As it happened, it had been written so well originally that all I had to do was make fairly small changes to allow it to handle two new facilities in SBASIC (integer and hex constants) and change a couple of variable names to avoid clashes with new extension names in SBASIC. Norman kindly gave me permission to publish the new listing. There'​s also a wealth of information in the Jan Jones book, [[QL SuperBASIC (The Definitive Handbook)]] in Appendix C which lists the tokens used to store a SuperBASIC program.
 +
 +==== Comments ====
 +
 +//The following comments were received by me (Norman) in an email, regarding the details in this Wiki page. Unfortunately,​ I have no way to confirm them, so I present theme here for your perusal. Thanks to Ralf for bringing them to my attention. Anything you see below in italics is from me.//
 +
 +QMERGE only exists in SMSQ/E. Tony Tebby has re-written the QLOAD suite, because the original extension from Liberation Software seemed to require an original QL ROM (source: "A brief history"​ from TT (//Tony Tebby//). I do not know more details but wish to do so. 
 +
 +The big disadvantage of QLOAD in SMSQ/E (IMHO) compared with the original extension is, that if you QLOAD something on a QL and have used toolkit PROCs/FNs, which are not loaded first, the message "​Extensions missing!"​ occur in #0, followed by the names. This is very practical and I do not know, why TT has omitted that in his version. This has helped me a lot during programming S_Edit on QL, as there were several extensions to load first and sometimes I forgot to load this or that first. Neither WL (//Wolfgang Lenerz//) nor MK(//Marcel Kilgus//) have sent me an answer to that question. I can ask TT, but he is very slow in answering things. I just wonder, why I seem to be the only person, who remarked this omission.
 +
 +_sav Files could be used by QLiberator, but just from v.3.xx onwards, where the new front end is. Older versions need the temporary _wrk work file, done (//​created//​) with the keyword "​Liberate"​. _wrk and _sav are identical. ​
  
 ==== Tokens ==== ==== Tokens ====
Line 63: Line 73:
  
 After the //​Decode_Program//​ routine comes a series of routines such as //​Multi_Spaces//​ and //​Keywords//​ which show how to handle the various tokens. At the end of the listing comes an initialisation routine which has a list of the keywords, operators and separators corresponding to token values. After the //​Decode_Program//​ routine comes a series of routines such as //​Multi_Spaces//​ and //​Keywords//​ which show how to handle the various tokens. At the end of the listing comes an initialisation routine which has a list of the keywords, operators and separators corresponding to token values.
 +
  
 ==== Decoding Program ==== ==== Decoding Program ====
  • qlwiki/qload.1525471905.txt.gz
  • Last modified: 2018/05/04 22:11
  • by normandunbar