Commit Graph
100 Commits
Author SHA1 Message Date
Dave Halter 26cce4d078 Add the grammar as an argument to saving the parser.
This makes collisions of different grammars when loading from the cache impossible.
2017-03-22 18:32:49 +01:00
Dave Halter c41bee4253 Trying to ideas to reshape the diff parser APIs. 2017-03-22 09:38:06 +01:00
Dave Halter 2cb565561d Replace the diff parser imports with the modified path. 2017-03-21 22:10:01 +01:00
Dave Halter 3a2811fbe8 Move the diff parser. 2017-03-21 22:03:58 +01:00
Dave Halter 6f01264ed3 Restructure import's module loading. 2017-03-21 17:20:10 +01:00
Dave Halter ff90beca6b Remove some documentation that was not necessary. 2017-03-20 21:10:49 +01:00
Dave Halter d218acee6b Create a default implementation of leafs. 2017-03-20 19:34:48 +01:00
Dave Halter c6811675b6 Rename ast_mapping to node_map. 2017-03-20 08:55:18 +01:00
Dave Halter 2d7fd30111 Remove _remove_last_newline from the parser. 2017-03-20 08:49:30 +01:00
Dave Halter 9dedb9ff68 Don't start parsing in our own API. 2017-03-20 08:44:52 +01:00
Dave Halter 53b4e78a9b Make some stuff private in the pgen parser API. 2017-03-20 08:36:11 +01:00
Dave Halter 689af9fc4e Remove tokens initialization parameter from the parser api. 2017-03-20 08:34:07 +01:00
Dave Halter 42e8861798 Simplify the parse method. 2017-03-19 22:15:01 +01:00
Dave Halter b4af42ddb3 Some minor parser changes to get ready for bigger stuff. 2017-03-19 21:30:41 +01:00
Dave Halter 3163f4d821 Trying to start moving more stuff to the BaseParser. 2017-03-19 21:06:51 +01:00
Dave Halter dad40597c5 Start moving stuff to the parser. 2017-03-18 15:01:34 +01:00
Dave Halter 52d855118a Remove get_parsed_node from the parser as well. 2017-03-18 03:55:23 +01:00
Dave Halter 0f66a3c7a8 Remove the module attribute from the parser. 2017-03-18 03:53:34 +01:00
Dave Halter d0b6d41e99 Remove the old star import cache, because it's not even used. 2017-03-18 03:30:23 +01:00
Dave Halter aaf6c61e69 Make remove_last_newline private. 2017-03-18 03:07:01 +01:00
Dave Halter 519fa9cfb5 Remove complicated merging of used names from the parser.
It's a lot of complicated code and a lot can go wrong. It also didn't speed up anything. If anything it made things like 5% slower. I have tested this with:

./scripts/diff_parser_profile.py wx._core.py

wx._core.py is not part of Jedi.
2017-03-16 22:00:01 +01:00
Dave Halter ce41119051 Fix some stuff in a diff profile test script. 2017-03-16 21:45:51 +01:00
Dave Halter 8156a6b8a2 Remove used_names from the parser step. It's a separate iteration, now. 2017-03-16 21:28:42 +01:00
Dave Halter fd50146f92 Simple cleanup. 2017-03-16 20:20:58 +01:00
Dave Halter 96c67cee26 Simplify the leaf with newlines stuff. 2017-03-16 20:18:30 +01:00
Dave Halter 4573ab19f4 Separate the python syntax tree stuff from the non python stuff. 2017-03-16 19:54:08 +01:00
Dave Halter 448bfd0992 Move the python parser tree. 2017-03-16 17:20:32 +01:00
Dave Halter b136800cfc Don't use as in imports when not needed. 2017-03-16 08:45:12 +01:00
Dave Halter 06702d2a40 Move the python parser. 2017-03-16 08:40:19 +01:00
Dave Halter a83b43ccfd Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-03-15 19:12:51 +01:00
Dave Halter 93f14157a6 Cleanup the ParseError stuff. 2017-03-15 18:41:58 +01:00
Dave Halter 0effd348e8 Add a note about the grammar creation. 2017-03-15 18:18:06 +01:00
Dave Halter c332fba488 Fix a namespace packages related issue. 2017-03-15 08:59:24 +01:00
Dave Halter 375749c5c3 Small restructuring. 2017-03-15 08:56:49 +01:00
Dave Halter 55c9fd3227 Fix an issue in the fake parser 2017-03-15 08:44:49 +01:00
Dave Halter 68a7365a0a A few docstring improvements. 2017-03-14 21:03:03 +01:00
Dave Halter 9efb3f0af2 More direct parser usage removals. 2017-03-14 19:31:54 +01:00
Dave Halter 717bfeb574 Remove an occurance of the complicated parser creation. 2017-03-14 19:27:03 +01:00
Dave Halter 97fc3bc23c Refactored the parser calls. Now it's possible to use jedi.parser.python.parse to quickly parse something. 2017-03-14 00:38:58 +01:00
Dave Halter 9b5e6d16da Improved grammar loading API. 2017-03-13 20:33:29 +01:00
Dave Halter 595ffc24d4 Move some more stuff to a python directory in the parser. 2017-03-13 00:54:39 +01:00
Dave Halter 922c480e2e Moved the parser to a new file. 2017-03-12 21:33:41 +01:00
Dave Halter a635b6839a Remove unused code. 2017-03-12 21:28:32 +01:00
Dave Halter af9b0ba8d6 Merge branch 'master' into dev 2017-03-12 20:51:17 +01:00
Dave Halter a7b1e3fe70 Fixed another diff parser error. 2017-03-12 15:58:14 +01:00
Dave Halter 6e3b00802c Another endless while loop issue, add an assert. 2017-03-11 14:54:44 +01:00
Dave Halter 818fb4f60c Fix a bug that might have caused an endless while loop a while ago. Fixes #878. 2017-03-09 21:47:16 +01:00
Dave Halter ccef008376 Python 2 compatibility. 2017-03-09 21:06:20 +01:00
Dave Halter c7a74e6d1c Make the tokenizer a generator. 2017-03-09 18:53:09 +01:00
Dave Halter 989e4bac89 Speed up splitlines.
We use the python function again with the modifications we need.
I ran it with:

    python3 -m timeit  -n 10000 -s 'from jedi.common import splitlines; x = open("test_regression.py").read()'

The speed differences are quite remarkable, it's ~3 times faster:

    10000 loops, best of 3: 52.1 usec per loop

vs. the old:

    10000 loops, best of 3: 148 usec per loop

We might need to speedup splitlines with  as well. It's probably
also a factor 2-3 slower than it should be.
2017-03-09 08:58:57 +01:00
Dave Halter b814a91f29 Avoid endless loop with an assert in the diff parser. 2017-03-08 18:33:38 +01:00
Dave Halter 5c9769c5a3 Merge remote-tracking branch 'origin/master' into dev 2017-03-07 19:01:53 +01:00
Dave Halter ee98eab64c Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-03-07 19:01:42 +01:00
Dave Halter 05e05252fa Make python -m jedi.parser.tokenize possible for debugging purposes. 2017-03-07 18:31:12 +01:00
Dave Halter 8131f19751 Correct an issue in the tests with the last commit. 2017-02-04 18:11:54 +01:00
Dave Halter b6e61133d8 Move the tests for the last PR #848. 2017-02-04 18:11:14 +01:00
Dave Halter 1d64a5caa1 Replace first_leaf and last_leaf with get_first_leaf and get_last_leaf. 2017-02-03 17:35:53 +01:00
Dave Halter 90fffd883e Clean up the function docstring. 2017-02-03 17:30:58 +01:00
Dave Halter 647aec11a6 Return None instead of raising an IndexError in get_next_leaf. 2017-02-03 17:26:02 +01:00
Dave Halter c5071f9f49 Change get_previous_leaf to return None if there is no leaf anymore (at the start of the file). 2017-02-03 17:23:15 +01:00
Dave Halter 445bf6c419 Get rid of get_parent_until. 2017-02-03 09:59:32 +01:00
Dave Halter b3cb7b5490 Remove the def isinstance from the parser. It was a really bad pattern. 2017-02-03 09:37:59 +01:00
Dave Halter 6ccac94162 Add a deploy script. 2017-02-03 00:40:19 +01:00
Dave Halter f2b41b1752 Update already the version number so we don't forget it. 2017-02-03 00:38:08 +01:00
Dave Halter 7020086166 Changelog for 0.10.0 2017-02-03 00:08:51 +01:00
Dave Halter 8027aeebd8 Fix a small bug that was raised two commits ago (in the test suite). 2017-02-02 23:50:29 +01:00
Dave Halter f627d541b8 Trying to fix the docs. 2017-02-02 23:39:10 +01:00
Dave Halter a5a54fbc85 Fix a call signature issue. 2017-02-01 19:21:07 +01:00
Dave Halter 68a3a9cf41 Don't do anything with the diff parser if nothing changes. 2017-01-29 22:12:24 +01:00
Dave Halter e5af996829 Remove old debug code from the diff parser. 2017-01-29 21:57:09 +01:00
Dave Halter e0c8b3dd3b Fix an context issue in completions. 2017-01-29 19:09:35 +01:00
Dave Halter 3f1e658e1d Set the limit for debugging failed diff parsers a bit higher. 2017-01-29 14:34:20 +01:00
Dave Halter 40b6079ebd If an INDENT is the next supposed token, we should still be able to complete. 2017-01-29 14:06:22 +01:00
Dave Halter b0f340748c So much work for one simple diff fail. 2017-01-29 00:42:09 +01:00
Dave Halter b779677bf9 Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-01-25 23:21:45 +01:00
Dave Halter b18239f9dd Add a way to profile the diff parser. 2017-01-25 23:00:33 +01:00
Dave Halter 9982975ad2 Another small performance improvement. 2017-01-25 22:54:08 +01:00
Dave Halter 4918fb49f5 Implement binary search for get_leaf_for_position. This makes it a lot faster. 2017-01-25 22:27:36 +01:00
Dave Halter f2db0dceb4 A few small performances improvements on the diff parser. 2017-01-25 21:12:13 +01:00
Dave Halter dfced86730 Merge pull request #834 from Carreau/fix-keyword
Fix keywords detected as modules
2017-01-24 13:27:49 +01:00
Dave Halter 551c122cf8 Fix an issue in sith where there we have accessed a removed Jedi property. 2017-01-24 09:57:43 +01:00
Dave Halter f4b8a02d37 Add a few speed debugging times to the diff parser. 2017-01-24 09:51:23 +01:00
Dave Halter 09779c88aa Fix a nasty issue in the tokenizer. Fixes #836.
At the same time there was a related issue of not cleaning up newlines properly.
2017-01-24 00:50:37 +01:00
Dave Halter 741993a738 Merge branch 'dev' of github.com:davidhalter/jedi into dev 2017-01-23 20:37:34 +01:00
Dave Halter e7fcc21863 Remove both MergedNodes and AlreadyEvaluated, they are unused. 2017-01-23 20:36:26 +01:00
Dave Halter 7623b1e350 Removed tree.is_node.
It's not needed anymore, because we have Node/Leaf.type now.
2017-01-23 20:34:30 +01:00
Dave Halter 64abe401ed The position modifier is not used anymore. 2017-01-23 20:12:17 +01:00
Dave Halter d85ceb9222 More cleanups in the parser. 2017-01-23 20:10:02 +01:00
Dave Halter 645841d98c Remove more unused code. 2017-01-23 19:51:30 +01:00
Dave Halter b286f3aef0 Merge pull request #832 from Carreau/more-docs
Improve some documentation about name_with_symbols, name and completion.
2017-01-23 15:00:45 +01:00
Dave Halter 01b25efea1 Use the same function to detect newlines in the diff parser. 2017-01-23 09:56:38 +01:00
Dave Halter 1caa2ceafa Cannot use sys.version.major and minor names, because in Python 2.6 it's
not a namedtuple.
2017-01-23 01:09:01 +01:00
Dave Halter 8d2ec6556e Fix a Python 2.7 issue. 2017-01-23 00:36:57 +01:00
Dave Halter 1ff7ecc7af Remove jedi.settings.add_dot_after_module that was removed a while ago from documentation. 2017-01-23 00:12:02 +01:00
Dave Halter 194295066a Fix one more issue in the diff parser. 2017-01-22 23:44:10 +01:00
Dave Halter 08c66207ec Fix the last diff parser test. 2017-01-22 20:27:11 +01:00
Dave Halter dca35393d5 Remove old code from the diff parser. 2017-01-22 20:22:20 +01:00
Dave Halter 8f4b862892 Fix most diff tests. 2017-01-22 20:13:18 +01:00
Dave Halter 005b24ed54 Better handling of the stack. 2017-01-21 18:43:54 +01:00
Dave Halter 21cd10cefd Get a few diff tests passing. 2017-01-20 20:46:30 +01:00