Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
gemstoneport [2017/06/03 12:14]
christian [Processing steps]
gemstoneport [2022/04/03 20:07] (current)
christian
Line 1: Line 1:
 ====== The Gemstone port ====== ====== The Gemstone port ======
 +
 +The fileOuts are on [[https://github.com/PortingPDFtalk/PDFtalk-for-Gemstone|GitHub]].
  
 The origin of the code is VisualWorks and the target is Gemstone. The origin of the code is VisualWorks and the target is Gemstone.
 +
 +===== Log =====
 +
 +Sunday, the 3rd of April
 +
 +The [[https://github.com/PortingPDFtalk/PDFtalk-for-Gemstone/releases/tag/2.5.3.1|latest version (2.5.3.1)]] loads without errors.
 +
 +Big thanks to Richard Sargent, who discovered all the defects and fixed them!
 +
 +Tests (on Gemstone 3.5.x and 3.6.x):
 +PDFtalk: 499 run, 499 pass, 0 fail, 0 errors
 +Report4PDF: 156 run, 11 pass, 145 fail, 0 errors
 +
 +----
 +
 +===== older... =====
  
 There are a number of possible approaches: There are a number of possible approaches:
-  - Using GemBuilder for Gemstone (GBS) +  * fileOut VW XML format
-    easy way to move code to Gemstone +
-    * but, since GBS is commercial, porting and maintaining should not depend on this +
-  - fileOut VW XML format+
     * no XML reader available?     * no XML reader available?
-    * write an XML loader in Gemstone 
     * nicely extensible with custom tags     * nicely extensible with custom tags
-  - fileOut30 ST80 chunk format+    * todo 
 +      * extend in VW 
 +      * write an XML loader in Gemstone 
 +      * interpret in GS 
 +  * fileOut30 ST80 chunk format
     * may load with Monticello?     * may load with Monticello?
     * looses namespace and pundle infos     * looses namespace and pundle infos
-  - fileOut GS Topaz input format+    * todo 
 +      * mangle in VW 
 +      * load with Monticello 
 +  * fileOut GS Topaz input format
     * need to write a writer for this format     * need to write a writer for this format
-  - fileout Values+    * todo 
 +      * writer in VW 
 +  * fileout Values
     * add transfer values     * add transfer values
     * nicely extensible     * nicely extensible
 +    * todo
 +      * define transfer values in VW and GS (same)
 +      * interpret in GS
 +
 +Not considered
 +  * Using GemBuilder for Gemstone (GBS)
 +    * easy way to move code to Gemstone
 +    * but, since GBS is commercial, porting and maintaining should not depend on this
 +    * use it for porting Values?
 +===== Decision Matrix =====
 +
 +<html>
 +<table class="wikitable">
 +
 +<tbody><tr>
 +<th> Approach
 +</th><th> Mangler (VW)
 +</th><th> Writer (VW)
 +</th><th> Format
 +</th><th> Reader (GS)
 +</th><th> Interpreter (GS)
 +</th></tr>
 +<tr>
 +<td> fileOut30
 +</td><td bgcolor="#ffcccc"> not extensible?
 +</td><td bgcolor="#ccffcc"> OK
 +</td><td bgcolor="#ffcccc"> Chunk
 +</td><td bgcolor="#ffff99"> Monticello
 +</td><td bgcolor="#ffff99"> todo
 +</td></tr>
 +<tr>
 +<td> XML fileOut
 +</td><td bgcolor="#ffff99"> todo
 +</td><td bgcolor="#ccffcc"> OK
 +</td><td bgcolor="#ccffcc"> XML
 +</td><td bgcolor="#ccffcc"> XMLParser
 +</td><td bgcolor="#ffff99"> todo
 +</td></tr>
 +<tr>
 +<td> Values
 +</td><td bgcolor="#ffff99"> todo
 +</td><td bgcolor="#ccffcc"> OK
 +</td><td bgcolor="#ffff99"> Values
 +</td><td bgcolor="#ccffcc"> OK
 +</td><td bgcolor="#ffff99"> todo
 +</td></tr>
 +<tr>
 +<td> Topaz input
 +</td><td bgcolor="#ffff99"> todo
 +</td><td bgcolor="#ffff99"> OK?
 +</td><td bgcolor="#ccffcc"> Topaz
 +</td><td bgcolor="#ccffcc"> OK
 +</td><td bgcolor="#ccffcc"> OK
 +</td></tr>
 +<tr></tbody></table>
 +</html>
 +
 +The chunk format used by Squeak and Pharo does not support extensions needed for Gemstone (pundles, treat namespaces, ...). It also depends on Monticello, which I don't understand. This is not further considered.
 +
 +XML fileOut would be nice if there would be an XML reader for Gemstone. Then, the fileOut could be extended with special tags for renamings and replacings etc.. On Gemstone, the XML structures need to be interpreted to setup namespaces and compile the source appropriately.
 +
 +The Values approach is the same as the XML fileOut except that the reader is there (once I ported the Values to Gemstone by hand). The drawback is that it is yet another format for code interchange... (although a good one, I think).
 +
 +Currently, I tend to favor the last solution where all the Gemstone code for input is generated solely from VW. There is a goodie in the public store (GemKitForStore (Copyright from OOCL)) which may have a Topaz input writer...
  
 ===== Processing steps ===== ===== Processing steps =====
  • gemstoneport.1496484858.txt.gz
  • Last modified: 2017/06/03 12:14
  • by christian