emacs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Dynamic loading progress


From: Eli Zaretskii
Subject: Re: Dynamic loading progress
Date: Sat, 14 Feb 2015 18:02:22 +0200

> From: Stephen Leake <address@hidden>
> Date: Sat, 14 Feb 2015 09:32:54 -0600
> 
> Emacs ada-mode does indentation in two steps; first it parses the source
> code, and the parser actions are lisp functions that eventually call
> put-text-property to store information about the syntax and/or semantics
> on many identifiers. Then the indentation code uses those text
> properties to compute indentation.
> 
> I have a generalized LALR parser implemented in elisp that is fast
> enough for many user's Ada files, but some users have much bigger files,
> and it takes them 10 seconds to parse. So I need a faster
> implementation. So far my benchmarking says I can get close with a
> machine compiled parser.
> 
> So the module would contain the generalized LALR parser; the actions of
> the parser would still be calls to the lisp functions.

But this means your mode is in Lisp to begin with, and it just calls
functions implemented in C to work faster.  So you could leave the
calls to put-text-property in Lisp, and have the functions implemented
in the module return the information required to compute the arguments
to put-text-property.  Or am I missing something?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]