Le 08/03/2013 16:58, Mariano Martinez Peck a écrit :
On Fri, Mar 8, 2013 at 12:52 PM, Goubier Thierry <thierry.goubier@cea.fr <mailto:thierry.goubier@cea.fr>> wrote:
Hi,
I'm trying to port SmaCC to 2.0 and I'm looking for the equivalent to SystemChangeNotifier>>__doSilently:. Is it SystemAnnouncer>>__suspendAllWhile:?
(doSilently: is used in SmaCC tests).
There is also a nice #valueWithoutNotifications in BlockClosure.
BTW, does it make sense to port SmaCC? Which use case do you have in which you prefer SmaCC over say PetitParse? I took a look few weeks ago to something done in SmaCC and it was full of ugly unmaintainable class side tables.....
If you are OK with grammars as a way to clearly specify a syntax, and you don't have too much context in it, a LALR parser as SmaCC is hard to beat (fairly short to write, and to maintain *IF* you use SmaCC-Dev). Moreover, SmaCC lexers being entirely compiled in Smalltalk (i.e. not a simulation of an automaton but direct compilation of the minimized DFA), it's hard to be any faster. And never, never touch the tables by hand. They are all generated ! The only thing you need to understand a SmaCC generated parser and scanner are the comments class-side. For the kind of parsing I do, I need SmaCC. I don't know yet if PetitParser can take the load. Thierry
Thanks,
Thierry -- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95
-- Mariano http://marianopeck.wordpress.com
-- Thierry Goubier CEA list Laboratoire des Fondations des Systèmes Temps Réel Embarqués 91191 Gif sur Yvette Cedex France Phone/Fax: +33 (0) 1 69 08 32 92 / 83 95