[GemStone-Smalltalk] XML Parser Class/Classes in Gs?

Dale Henrichs dale.henrichs at gemtalksystems.com
Sun May 7 19:17:27 PDT 2023


Hold the phone :( ... I didn't `set inputpauseonerror on` when I loaded the
files, so I didn't see the compile errors when undefined globals were
referenced ... so the porting effort will not be "greatly simplified" ...

Sooo, the first order of business is to get a picture of the undefined
globals and the best way to do that is to add an additional .gs file first
in line, where you simply define the missing global in UserGlobals just to
satisfy the compiler and then send me the list of missing classes/globals
and I can give you some pointers on the best way to replace the references
... I was actually going to do that earlier today when I mistakenly ignored
the errors ...

I've done a little bit more work. I defined a Smalltalk class with a couple
of methods and got to the point where the initialize methods are being run;
defined CharacterCollection class>>lf and then hit a reference to
RBParser...

I've noticed/realized that all of the classes are being loaded into
UserGlobals by default and having to get through the initialize methods in
each .gs file may not be ideal ...  so at this point I can offer to
regenerate the .gs files using a different dictionary (Globals or ???) for
the class definitions ... and it probably makes sense to edit the .gs files
and move the initialize methods to a final .gs file that is input after all
of the classes and methods have been loaded ... this will allow you to get
a handle on all of the globals needed and better scope out what needs to be
done, rather than dealing with getting initialize methods to run cleanly
(something that could/should be done after all the globals have been
defined) ...

RBParser can be found in the rb project[1], however in the one instance I
saw, the RBParser is being used to parse a Smalltalk method and in this
case it is probably overkill to port the entire RBParser project when all
that needs to be done is parse a method ... there are a couple of different
things that can be done directly in GemStone to satisfy those needs ... So
at the end of the day, it's probably worth deferring the port/replace
decision until later when we know whether RBParser is being used in other
parts of the XML code base ...

Anyway, let me know if you'd like me to regenerate the .gs files using a
different symbol dictionary ... and sorry for the overly optimistic email
...

Dale

[1] https://github.com/dalehenrich/rb

On Sun, May 7, 2023 at 5:34 PM Greg Spehar <spehargreg at gmail.com> wrote:

> Dale,
>
> Wow! This is great! Will load it let you know how it goes.
>
> Regards,
> *Greg*
>
> On May 7, 2023, at 3:22 PM, Dale Henrichs <
> dale.henrichs at gemtalksystems.com> wrote:
>
> 
> Greg and Christian, I converted the filetree source code in
> XML-XMLParser[1] to topaz (.gs format) and noticed that the project was
> dependent upon 3 other projects: BitmapCharacterSet[2],
> OrderPreservingDictionary[3], and XML-XMLWriter[4], so I converted the
> filetree source code for those projects as well, then copied the generated
> .gs files into the XML-XMLParser project gemstone directory[5] along with
> an install.tpz file.
>
> Then I took a 3.6.5 extent0.dbf and ran the install script and amazingly
> the files all loaded okay until I got an MNU while running  the class
> initializers for XML-XMLParser (the last file):
>
>> ERROR 2010 , a MessageNotUnderstood occurred (error 2010), a
>> XMLAbstractFactory class does not understand  #'allSubclassesDo:'
>>
> The fact that all of the class definitions and methods loaded without
> error implies that there are no dependencies on the GLASS/GsDevKit class
> library, which should greatly simplify the porting effort.
>
> Bruno Buzzi[6] did the original port of XML-XMLParser and friends about 3
> years ago ... with a little bit of help from me (converting the tonel
> source to filetree) and it seems that he was able to avoid leaning heavily
> on any Pharo/GsDevKit compatible classes ...
>
> I also want to note that I updated the CI code for the XML-XMLParser
> project and that the unit tests run clean against a GLASS/GsDevKit
> extent[7]. The CI test are run against 3.5.3, 3.5.8, 3.6.0 and 3.6.5 and at
> this point there is no conditional code involved.
>
> Let me know if you guys have any questions,
>
> Dale
>
> [1] https://github.com/GsDevKit/XML-XMLParser
> [2] https://github.com/GsDevKit/BitmapCharacterSet
> [3] https://github.com/GsDevKit/OrderPreservingDictionary
> [4] https://github.com/GsDevKit/XML-XMLWriter
> [5] https://github.com/GsDevKit/XML-XMLParser/tree/gemstone/gemstone
> [6] https://github.com/brunobuzzi
> [7] https://github.com/GsDevKit/XML-XMLParser/actions/runs/4908998434
>
> On Sat, May 6, 2023 at 2:11 AM Christian Haider <mail at christianhaider.de>
> wrote:
>
>> Hi Dale,
>>
>>
>>
>> I’d like to have that too J
>>
>>
>>
>> Happy hacking,
>>
>> Christian
>>
>>
>>
>>
>>
>> *Von:* GemStone-Smalltalk <
>> gemstone-smalltalk-bounces at lists.gemtalksystems.com> *Im Auftrag von *Dale
>> Henrichs via GemStone-Smalltalk
>> *Gesendet:* Freitag, 5. Mai 2023 23:17
>> *An:* Greg Spehar <spehargreg at gmail.com>
>> *Cc:* gemstone-smalltalk at lists.gemtalksystems.com
>> *Betreff:* Re: [GemStone-Smalltalk] XML Parser Class/Classes in Gs?
>>
>>
>>
>> I don't have the time to look into it :), but I do have the time to
>> produce the .gs file that will allow you to look into it ...
>>
>>
>>
>> Let me know, and I should be able to get to it by Monday...
>>
>>
>>
>> Dale
>>
>>
>>
>>
>>
>> On Fri, May 5, 2023 at 1:21 PM Greg Spehar <spehargreg at gmail.com> wrote:
>>
>> Dale,
>>
>>
>>
>> Yes, I would love to take this route.
>>
>> Would you like me to take a shot at it or is it something you might be
>> able to look into?
>>
>> (If you do, I will go hunt down that $1 Billion Powerball ticket and send
>> it to you… if I find it of course.)
>>
>>
>>
>> Regards,
>>
>> *Greg Spehar, MBA, PMP, ACP, DASM*
>>
>> *Senior Program Manager*
>>
>>
>> -------------------------------------------------------------------------------------------------------
>>
>> *P:* 503.332.3663
>>
>> *E:  *spehargreg at gmail.com
>>
>> *W: *http://www.linkedin.com/in/spehargreg
>> <http://www.linkedin.com/in/spehar>
>>
>> *T:* @spehargreg
>>
>> *C:* https://calendly.com/spehargreg/30-minute-meeting-connect
>>
>>
>>
>> On May 5, 2023, at 3:15 PM, Dale Henrichs <
>> dale.henrichs at gemtalksystems.com> wrote:
>>
>>
>>
>> Greg,
>>
>>
>>
>> I don't believe that there are any XML parsers in the base system,
>> however, there is a port of the Pharo XML-XMPParser[1] to the
>> GLASS/GsDevKit environment that was done a couple of years ago. The
>> GLASS/GsDevKit environment has a fair amount of Pharo compatibility code
>> built in, so it is hard to estimate how much work would be required to port
>> that to the base image ... but it would probably be a good place to start
>> ...
>>
>>
>>
>> The source is in filetree format, but it would be relatively
>> straightforward to convert the filetree format packages into a single .gs
>> file that could be loaded into the base ... let me know if you'd like to
>> take that route ...
>>
>>
>>
>> Dale
>>
>>
>>
>> [1] https://github.com/GsDevKit/XML-XMLParser
>>
>>
>>
>> On Fri, May 5, 2023 at 12:57 PM Greg Spehar via GemStone-Smalltalk <
>> gemstone-smalltalk at lists.gemtalksystems.com> wrote:
>>
>> All,
>>
>>
>>
>> Does anyone have access to a Gs XML parser? I am looking to use XML in
>> the system I am designing…
>>
>> (Or maybe I missed it in the image… yes I did look..)
>>
>>
>>
>> Thanks,
>>
>> *Greg Spehar, MBA, PMP, ACP, DASM*
>>
>> *Senior Program Manager*
>>
>>
>> -------------------------------------------------------------------------------------------------------
>>
>> *P:* 503.332.3663
>>
>> *E:  *spehargreg at gmail.com
>>
>> *W: *http://www.linkedin.com/in/spehargreg
>> <http://www.linkedin.com/in/spehar>
>>
>> *T:* @spehargreg
>>
>> *C:* https://calendly.com/spehargreg/30-minute-meeting-connect
>>
>>
>>
>> _______________________________________________
>> GemStone-Smalltalk mailing list
>> GemStone-Smalltalk at lists.gemtalksystems.com
>> https://lists.gemtalksystems.com/mailman/listinfo/gemstone-smalltalk
>>
>>
>>
>>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.gemtalksystems.com/mailman/archives/gemstone-smalltalk/attachments/20230507/88f9896f/attachment.htm>


More information about the GemStone-Smalltalk mailing list