Tx Thierry. I'd prefer to read and understand the basics of SmaCC first
from the Pharo book for intelligent communication :). I'll let you know.
Usman
On Mon, Aug 25, 2014 at 4:48 PM, Thierry Goubier <thierry.goubier(a)gmail.com>
wrote:
2014-08-25 16:11 GMT+02:00 Usman Bhatti <usman.bhatti(a)gmail.com>om>:
It was just a illustrative example to show the slowness of PParser due to
the recent modifications. What I want to achieve is to be able to express
keyword or lines matching (may be some day complete code blocks as well).
We found that doing it with the parser is quite easy.
If there is little context around (deep tree structures, backtracking)
then a lexer may be enough. If you give me a bit of context (or a petit
parser description), I can work out the equivalent SmaCC grammar.
It would be worth trying SmaCC to compare its performance with PP-based
solution but I am not knowledgable about SmaCC. Any pointers to where
should I start from?
I updated the SmaCC chapter in the PharoForTheEnterprise book; it is also
available as help inside Pharo itself.
https://ci.inria.fr/pharo-contribution/job/PharoForTheEnterprise/ws/Smacc/S…
Thierry
regards,
Usman
Keyword [^\n] *
isn't it?
Thierry
[|string allStyles text|
string := (PharoFilesOpener default changesFileOrNil contents copyFrom:
1 to: 60000).
text := string asText.
allStyles := {
'Announcement' -> TextColor green.
'Collections' -> TextColor blue.
'File' -> TextColor blue.
'Metacello' -> TextColor red.
'Monticello' -> TextColor magenta.
'Morphic' -> TextColor orange.
'Mooose' -> TextColor green.
'FAMIX' -> TextColor green.
'Roassal' -> TextColor green.
}.
allStyles do: [ :assoc | ((assoc key asParser, #newline asParser negate
star) matchingRangesIn: string) do: [:aRange | text addAttribute: (assoc
value) from: aRange first to: aRange last] ].
text] timeToRun ==> 15 sec
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev
_______________________________________________
Moose-dev mailing list
Moose-dev(a)iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev