[TxMt] Use PPI for Perl parsing?
Allan Odgaard
throw-away-1 at macromates.com
Sun Sep 3 10:12:54 UTC 2006
On 3/9/2006, at 1:19, Joshua Keroes wrote:
> The PPI module[1] on CPAN is designed to parse Perl (no small task
> there). It was designed for projected /exactly/ like TextMate.
TextMate needs a name assigned to each parsed entity so that scope
selectors can be used (used to abstract visual styles away from the
parser, apply settings to subsets of the document, limit key
bindings, etc.).
It needs grammars to be able to include each other, e.g. Perl here-
docs include the HTML grammar when the token is HTML, the HTML
(Mason) grammar includes Perl inside <% … %> etc.
If each language had its own custom parser, this would not be
feasible, and it would significantly lower the barrier to language
grammar hacking.
Not to mention that TM needs to constantly re-parse the document when
it is being edited, but only the part of the document actually
changed. E.g. if you add a keyword at line 10,325 then only that line
should be re-parsed, though had you added ‘=begin’ then it needs to
re-parse until it sees ‘=end’ -- stand-alone parsers like PPI are not
made for these things.
More information about the textmate
mailing list