-
Notifications
You must be signed in to change notification settings - Fork 30
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Speedup/cleanup of scope_resolution #219
Comments
Whenever this is being looked into, one of the things that might be increasing the slowness is that the template pattern (the In terms of how the current As to why some patterns need the inner and some need the outer, I think the outer one is used when the pattern is actually used in the |
the inner pattern starts off with the outer pattern https://github.com/jeff-hykin/cpp-textmate-grammar/blob/14b092b60d7e1d2833b64141fa02bea2913611e5/source/languages/cpp/generate.rb#L766, so it should match multiple times as well. |
Oops.. yeah thats a problem. It must be doing it recursively where only one pattern is doing the tagging on the way down. |
This code gets screwed up because of the scope resolution. I looked into it some today and did not have much luck. |
Per #218 (comment), the patterns made by
generateScopeResolutionFinder
are slow. Additionally, the pattern is used in many places. If the patterns can be made atomic, it should speed up parsing time for most of the grammar.Additionally, the difference between the main
scope_resolution
pattern and the inner generated pattern is not documented. There also appears to be no particular reason why some patterns use the outer pattern, and some use the inner pattern.The main difference between the outer
scope_resolution
and the innerscope_resolution
is that the inner scope_resolution pattern must match at least oneA<B>::
while the outer pattern is allowed to match none.The text was updated successfully, but these errors were encountered: