> For speeding up parsing after minor editing, we could cache the parser > state every so often; parsing could start from there. And if the change > is truly local (ie not introducing a "begin"), then the parse state of > the new code would match the cached parse state after the edit, and > parsing could stop.
That's the idea I had at well. Of course, you would cache the state when there is only a single parser state. What's involved in caching that state, though, there is a stack of symbols I believe ? That would not speed up the initial parsing though, so the initial display of the file would still take several seconds. > Another option is to use AdaCore's GPS; it has a very fast parser in the > editor (completely separate from the compiler; it's recursive descent, > implemented in Ada). Don't worry, Philippe has already been sending such performance "critics" to us in the past :-) I am actually very tempted to investigated the GLR parser approach for GPS too, it might help support more languages in the long term. So I am certainly keeping an eye on the improvements you might be doing Emacs-side :-) > Obviously Emacs is better in general :). I've toyed > with trying to implement some of the features I like from Emacs in GPS, > but I always give up; the Elisp environment is much more friendly to > this sort of development, and the list of missing features in GPS is > _so_ long (monotone integration is the first on the list; Gnus for email > and news is second :). I've suggested that AdaCore pay me to make GPS > better, but so far they have refused :(. Not to hijack this thread, but I would be interested in a separate discussion on what editing features you consider missing in GPS (monotone integration is also fair game, although it has been done already by some people I believe, since that's basically an XML file to write -- gnus and news will not happen) Emmanuel _______________________________________________ Emacs-ada-mode mailing list [email protected] http://host114.hostmonster.com/mailman/listinfo/emacs-ada-mode_stephe-leake.org
