Dave Halter
b9040870c0
Some ideas for a diff parser.
2016-08-14 00:23:40 +02:00
Dave Halter
5f064a2a0a
Add a way to get the line in a BaseDefinition. Fixes #518 .
2016-07-31 20:37:48 +02:00
Dave Halter
ebbaaf7ad2
Fix some more problems with the fast parser.
2016-07-24 23:44:26 +02:00
Dave Halter
72634a94b8
Try to use line numbers instead of offsets in the fast parser.
2016-07-11 08:56:30 +02:00
Dave Halter
52c42c3392
Reenable call signature caching and move a lot of parser specific caching to the parser itself.
2016-06-28 08:46:29 +02:00
Dave Halter
6fec29d778
All tests except the Interpreter tests are working again.
2016-06-22 00:27:21 +02:00
Dave Halter
27f05de3b7
Fix a few more issues, mostly with the fast parser.
2016-06-13 18:21:17 +02:00
Dave Halter
4ec72d8f24
Finally fix the last remaining fast parser issue.
2016-06-06 08:55:10 +02:00
Dave Halter
436f7dffe0
Fix another very annoying fast parser issue.
2016-06-06 08:37:40 +02:00
Dave Halter
aa97e4e714
Fix the fast parser issue #589 .
2016-06-05 14:42:32 +02:00
Dave Halter
c3ffaab8af
The fast parser had some splitting issues.
2016-06-04 00:50:36 +02:00
Dave Halter
cbba314286
Progress and actually passing a few tests.
2016-05-26 00:10:54 +02:00
Dave Halter
d4a10929e2
Starting to create a way of how context sensitive completions can be made.
...
This involves playing heavily with the parser pgen2. We use its stack to check for all possible tokens/keywords.
2016-05-23 18:11:44 +02:00
Dave Halter
c4906e0e3f
Rework the parser so we can use arbitrary start nodes of the syntax.
...
This also includes a rework for error recovery in the parser. This is now just possible for file_input parsing, which means for full files.
Includes also a refactoring of the tokenizer. No more do we have to add an additional newline, because it now works correctly (removes certain confusion.
2015-12-20 22:25:41 +01:00
Dave Halter
265e6b2c35
Change parser and api to use tree instead of pr.
2015-04-27 23:38:48 +02:00
Dave Halter
48392a7dac
Fix some issues in call signatures.
2015-02-24 16:55:33 +01:00
Dave Halter
4f2d4992da
Fix an mro resolution issue.
2015-02-23 19:04:35 +01:00
Dave Halter
aebeafccc4
Rewrite last newlines in the fast parser to get correct get_code outputs even with the fast parser.
2015-02-23 13:36:43 +01:00
Dave Halter
489ea8fc83
Replace set_parser with direct ParserNode instance calls.
2015-02-23 13:10:40 +01:00
Dave Halter
2fcb1b9b65
Fast parser fix.
2015-02-23 01:00:17 +01:00
Dave Halter
3ec96b25cc
Issue with backslashes again in the fast parser.
2015-02-21 18:07:21 +01:00
Dave Halter
0b5a509e83
Small correction: mixed up a re.match and re.search.
2015-02-20 00:48:05 +01:00
Dave Halter
ce96af5e04
Fix an issue with open parentheses and function definitions right after. The fast parser should behave like the normal one and just ignore the open brackets.
2015-02-19 11:02:11 +01:00
Dave Halter
0e73bf7d80
Account for code parts that were not parsed in the fast parser.
2015-02-19 01:42:13 +01:00
Dave Halter
39bf9f426b
Handle backslash escaping.
2015-02-18 17:32:34 +01:00
Dave Halter
595da50ab8
The fast parser splitting now also checks for parentheses levels, because without that, sometimes we split in very strange positions, while ignoring others.
2015-02-18 13:49:03 +01:00
Dave Halter
506d602795
Fix multi line param issues in the fast parser.
2015-02-17 15:24:49 +01:00
Dave Halter
7663703989
Fix issues with multi line for loops in the fast parser.
2015-02-17 14:57:00 +01:00
Dave Halter
4d9608ea6f
Check more precisely for flow keywords.
2015-02-16 16:04:48 +01:00
Dave Halter
e1c28d2c3f
variables starting with 'class' and 'def' should not slow down the parser, changed the check to 'class ' and 'def '.
2015-02-16 10:08:22 +01:00
Dave Halter
db31e0e37d
The fast parser works now faster in case of for flows with a simple_stmt after.
2015-02-14 18:57:04 +01:00
Dave Halter
2dd08594fc
Simplify the indent calculation in the fast parser.
2015-02-05 14:37:24 +01:00
Dave Halter
0c1bbf78e2
Rename SubModule to Module, because that's a more fitting description. There were reasons for the name before the new fast parser, but those don't exist anymore.
2015-02-05 14:16:43 +01:00
Dave Halter
c689573b0b
Removed the line_offset from tokenize, we have better ways to modify positions, now.
2015-02-05 14:00:58 +01:00
Dave Halter
59cf1bce5d
Delete legacy code from the fast parser.
2015-02-05 13:47:35 +01:00
Dave Halter
dce952aec6
Fix an issue with omited dedents in the parser.
2015-02-05 00:11:12 +01:00
Dave Halter
e1c623d3f3
Python 2 compatibility.
2015-02-04 17:09:18 +01:00
Dave Halter
e23e354fe8
Simplified the line splitting and with that a few other things in the fast parser.
2015-02-03 22:22:57 +01:00
Dave Halter
66dfa59286
Fix some endmarker prefix issues in the fast parser.
2015-02-03 22:09:55 +01:00
Dave Halter
6cdfecb541
Fix a number of issues in the fast parser around functions with only one statement (no suite) and wrong indentations).
2015-02-02 15:03:57 +01:00
Dave Halter
f9fe6b47eb
Fix error statement stacks positions.
2015-02-02 10:43:47 +01:00
Dave Halter
c58cdbbf9b
Fix an issue that comes from a combination of property/__slots__/pickle
2015-02-02 00:45:17 +01:00
Dave Halter
9a0f1363e3
Start removing the print statements that were used for debugging.
2015-02-01 02:32:52 +01:00
Dave Halter
bc118e8047
Simplify the fast parser tokenizer more. Now it is more readable and less buggy (+bugfixes).
2015-01-31 20:09:44 +01:00
Dave Halter
1826f432c8
Fix an issue in the fast parser splitting.
2015-01-30 15:17:38 +01:00
Dave Halter
413da3b790
Remove the line_offset calculation. We can now also remove it from tokenize. With the position_modifier we have enough tools to change a position, we don't need to do that in tokenize.py.
2015-01-29 17:57:01 +01:00
Dave Halter
cf1b2ff54b
Function tests now pass with the fast parser.
2015-01-29 15:47:38 +01:00
Dave Halter
a221eee02c
Fix more issues in the fast parser.
2015-01-29 15:38:38 +01:00
Dave Halter
0a537c05c4
Fix an issue with Function/Flow combination in the fast parser.
2015-01-29 02:24:11 +01:00
Dave Halter
dde0e9c7c6
Fix for loop issues in the fast parser.
2015-01-29 01:36:16 +01:00