A possible way to accomplish it would be to use an object graph with an incremental query engine, such as EMF/CDO with Viatra or something similar.�� You could then put different character sets in connected objects and query only as far as you need to.
Andrew Glynn
Sent from Mail for Windows 10
From: Thierry Goubier
Sent: Tuesday, November 7, 2017 7:17 AM
To: Any question about pharo is welcome
Subject: Re: [Pharo-users] Binary Decision Diagram Package in Smalltalk
Hi Andrew, Steffen,
2017-11-07 13:10 GMT+01:00 Prof. Andrew P. Black <black@cs.pdx.edu>:
> On 28 Oct 2017, at 17:37 , Steffen M��rcker <merkste@web.de> wrote:
>
> Does that mean the sets/bdd would be constructed mainly at comile time? Anyway, Andrew, feel free to contact me, I might help you with this.
>
Thanks for the offer, Steffen! The problem is that I need to use SmaCC for my current project, and really do not have a month to take off and re-design the way that it builds its scanner. I���ve talked to Thierry Goubier about, and he doesn���t have time either! It would be a fun project, though, and it ought to be fairly separate from other parts of SmaCC. I���ve spent a fair bit of time thinking about how to do it, but don���t think that I will be able to actually focus on it.
Yes, this is the essence of the issue. There are a few alternatives about it, but none we have the time to pursue.
An alternative approach, which Thierry has suggested, is to make SmaCC work on the UTF-8 representation of the Unicode. Then we could represent character sets as prefix trees. But the core problem would still exist: you can���t run an algorithm that repeatedly executes
for all characters in the alphabet do:
when there are 2^21 characters in the alphabet!
The main issue is that `for all characters`... All the literature on scanner building uses 'for all characters do'.
Thierry
Andrew