Commit Graph
100 Commits
Author SHA1 Message Date
Dave Halter 259aa6bd5f First dynamic params working. 2014-11-17 16:23:18 +01:00
Dave Halter 22f20ec715 Treat executed params different from normal ones. 2014-11-17 13:35:16 +01:00
Dave Halter 2dfbc2a0fd Start to rework dynamic params. However goto is now needed first. 2014-11-17 12:34:32 +01:00
Dave Halter 0567a886c4 Fixed an issue with set literals. (The Array type was wrong before.) 2014-11-14 16:54:54 +01:00
Dave Halter fce715b867 By disabling dynamic arrays completely, arrays are now almost fully passing. 2014-11-14 16:43:53 +01:00
Dave Halter 7049ad58db Small fix for dict lookups. 2014-11-14 16:03:09 +01:00
Dave Halter 01178d30ea Disable dynamic array instances and fix an issue with missing the arguments class. 2014-11-14 15:55:02 +01:00
Dave Halter e64c78503e Fix some issues with array arguments. 2014-11-14 15:19:47 +01:00
Dave Halter 278bc9d705 Fix generators. 2014-11-14 02:05:25 +01:00
Dave Halter 13a128b160 global working. 2014-11-13 18:13:56 +01:00
Dave Halter f3c2b4fc33 Get with statements working. 2014-11-13 12:51:49 +01:00
Dave Halter 541b8872d0 Changed is_node so it can actually deal with InstanceElements. 2014-11-13 01:15:44 +01:00
Dave Halter 1ab67ebbba Fix except statements names. 2014-11-13 01:02:56 +01:00
Dave Halter 2fc67b97e5 Disable analysis for now. 2014-11-13 00:28:42 +01:00
Dave Halter f0a3c37fa0 __file__ should be listed as a module attribute. 2014-11-13 00:24:40 +01:00
Dave Halter 408eee50dd Start fixing issues with for loops and += operations. 2014-11-12 14:54:52 +01:00
Dave Halter 13c2279fea Make Generator tuple assignments work. 2014-11-12 13:48:08 +01:00
Dave Halter 65c18f143c Separate some Generator stuff. 2014-11-12 13:42:24 +01:00
Dave Halter 65f182ff0d Separate class for Generator and List Comprehensions. 2014-11-12 13:28:31 +01:00
Dave Halter f760a7755d Nested list comprehensions seem to be working pretty well. 2014-11-12 12:30:59 +01:00
Dave Halter c326562c27 Implemented x if foo else y case. 2014-11-12 11:49:27 +01:00
Dave Halter 54c5591ccb Progress with list comprehensions. There is now a separate class. 2014-11-12 11:42:31 +01:00
Dave Halter cc661473bc Trying to change used_names, so that they don't contain name definitions from CompFor. 2014-11-11 17:13:27 +01:00
Dave Halter 460d959988 Implicit tuples as a separate class. 2014-11-06 18:24:55 +01:00
Dave Halter 8200b68549 Fix for loops and for loops tuple assignments. 2014-11-06 17:21:00 +01:00
Dave Halter 3a9e9e29e1 Small pytree changes. 2014-11-06 14:17:34 +01:00
Dave Halter 00454daf57 change the new parser tests 2014-11-06 14:16:17 +01:00
Dave Halter aa0c73c9ab Fixed a few small things in the parser. Flow analysis is working again. Completely. 2014-11-06 04:41:23 +01:00
Dave Halter 56102e408e Small glitch with the change of return statements to loops in precedences. 2014-11-06 04:06:40 +01:00
Dave Halter d58046f38f Changed normal precedence calculation. 2014-11-06 03:47:42 +01:00
Dave Halter fae798adfe Simplify precedence.factor_calculate. 2014-11-05 23:21:32 +01:00
Dave Halter ca70d32f23 isinstance fixes 2014-11-05 22:14:38 +01:00
Dave Halter fa0f4b1e00 Further small flow_analysis corrections. Keywords are only equal to other keywords if they are the same. Not in case of the same value anymore. 2014-11-05 21:29:54 +01:00
Dave Halter 186ce2b70a Improve flow analysis a bit. 2014-11-05 19:18:45 +01:00
Dave Halter 9549c2b389 Last few small changes to the parser. Now beginning to work on the tests again. 2014-11-05 17:39:56 +01:00
Dave Halter 70bc6642d8 symbols on the stack are now defined with a smaller tuple. 2014-11-05 10:27:24 +01:00
Dave Halter da5dd0efa1 simplify the parser stack. 2014-11-05 00:35:58 +01:00
Dave Halter 61df804e6e context is not needed for nodes. 2014-11-04 19:49:39 +01:00
Dave Halter 3b4a8dcd7e convert: run away from tuples. 2014-11-04 19:26:33 +01:00
Dave Halter 73bd576bb2 Merged some convert stuff. 2014-11-04 19:12:02 +01:00
Dave Halter 3518123afa Moved the convert function away from pytree 2014-11-04 19:09:58 +01:00
Dave Halter f3e4bf9ed1 Splitting up the convert function into leaves and nodes. 2014-11-04 18:54:25 +01:00
Dave Halter d483d50284 Small optimizations to make parsing faster. 2014-11-04 17:23:16 +01:00
Dave Halter c6c2768dda Parser error recovery simplified. Just fall back to scopes, if somethings wrong. 2014-11-04 09:40:32 +01:00
Dave Halter 8c775e0a18 Resolved if/else issues in instances with get_defined_names.
This also means that class tests are now passing, except for private variables, which are not that important.
2014-11-04 00:24:01 +01:00
Dave Halter 1d2980cd2d Remove a flow information thing for now. 2014-11-03 18:27:31 +01:00
Dave Halter 55db65434c Add the parsers flow information as classes to parser.representation. 2014-11-03 18:25:10 +01:00
Dave Halter e25684d470 Start to check for name positions with names_dict name finder. 2014-11-03 15:58:56 +01:00
Dave Halter 4676998fb5 Playing with params/names_dict 2014-11-03 13:38:57 +01:00
Dave Halter f4d7020ebf Improve Name.is_definition 2014-11-02 17:53:04 +01:00
Dave Halter 81174741a4 After error recovery, names need to be removed from the used_names list, because they are not actually defined in the current AST. 2014-11-02 17:40:45 +01:00
Dave Halter 1ff4713848 Move error recovery function. 2014-11-02 17:24:06 +01:00
Dave Halter 0c3cba166e Make names_dict available in modules. 2014-11-02 14:22:00 +01:00
Dave Halter afca0ef047 The user context parser should ignore keywords if they are not standing alone. 2014-10-30 01:56:08 +01:00
Dave Halter 1bb0eccc86 Simple error recovery in the parser: For now just discard everything that is not a suite or file_input, if we detect an error. 2014-10-30 01:40:22 +01:00
Dave Halter f09ff04fcc Yield expressions are now separate form ReturnStmt. 2014-10-29 18:54:05 +01:00
Dave Halter 71c3d34965 Increase ParserPickling.version. 2014-10-29 01:46:54 +01:00
Dave Halter 1c09a90ac1 Disable usage of filter_private_variable for now. 2014-10-28 17:00:12 +01:00
Dave Halter 4f2223ae7b Super is now working. Still has the same flaws like the old implementation, but the tests are passing. 2014-10-28 16:22:59 +01:00
Dave Halter 500ac9b384 A irst super() implementation in stdlib. 2014-10-28 15:50:05 +01:00
Dave Halter d27df89681 A temporary argument clinic implementation for the stdlib. 2014-10-28 14:56:22 +01:00
Dave Halter f8bb369467 __call__ issues 2014-10-28 13:36:13 +01:00
Dave Halter 1cc1d4480b Fix issues with copying children in combination with InstanceElement. 2014-10-28 13:33:40 +01:00
Dave Halter b550f67bce Small instance refactoring, now adding is_generated as a param. 2014-10-28 11:33:28 +01:00
Dave Halter 19e083cbfb Make Leaf public 2014-10-28 11:13:33 +01:00
Dave Halter d667f19c57 Remove the old is_generated. 2014-10-28 02:11:50 +01:00
Dave Halter b3d87302f9 Small changes to adapt oto the new param structure. 2014-10-28 02:11:13 +01:00
Dave Halter fe7c750c2c Param is now the parent of its names and not just a helper class. 2014-10-28 02:05:44 +01:00
Dave Halter 1a6ff3e8e6 Small parser fix. 2014-10-27 16:07:24 +01:00
Dave Halter 8911ecb6a5 A last change for defaults. Params are pretty usable and work smooth now. 2014-10-27 15:36:29 +01:00
Dave Halter 14ec210891 param default values. 2014-10-27 12:03:09 +01:00
Dave Halter db2d380441 Issues with errors *args resolution. 2014-10-27 01:29:49 +01:00
Dave Halter c0768924f6 Managed to get dict inputs working into kwargs. This was wrong in the old version of the parser. 2014-10-27 01:07:15 +01:00
Dave Halter 8df8749f22 Dict key that are not in dict should return all value types. 2014-10-27 00:19:31 +01:00
Dave Halter e4124fcf9a More dynamic *args 2014-10-25 15:58:09 +02:00
Dave Halter 2315d51e68 direct param evaluation 2014-10-25 14:37:01 +02:00
Dave Halter afbdf1a7ea Fix for default arguments in combination with named arguments. 2014-10-25 13:14:01 +02:00
Dave Halter 7532f52cdd Understanding implicit tuple returns (testlist) 2014-10-25 12:50:51 +02:00
Dave Halter 97a102bd24 Get param parsing right. 2014-10-25 12:02:54 +02:00
Dave Halter 22cb3ca5f0 subscriptable errors. 2014-10-25 11:34:16 +02:00
Dave Halter 995f0700c9 Fix params, so that quite a few functions can now pass. 2014-10-25 02:35:04 +02:00
Dave Halter 4384e938e9 Get a few more things right with params. 2014-10-25 02:25:09 +02:00
Dave Halter 9f1336095b unpacking arguments. 2014-10-24 21:46:48 +02:00
Dave Halter c58975807c Small function/param corrections. 2014-10-24 01:58:56 +02:00
Dave Halter 93c97a78a3 Fix an issue with classes and decorators combined. 2014-10-24 00:41:26 +02:00
Dave Halter 3bdd32ad87 Always create a module. 2014-10-23 16:27:16 +02:00
Dave Halter de4db11d25 Reading dicts works now. 2014-10-23 16:21:23 +02:00
Dave Halter 51ffc54471 Temporary params of class solution. 2014-10-23 14:41:01 +02:00
Dave Halter 387fc3b038 Adding prev_sibling, getting self attributes. 2014-10-23 14:03:52 +02:00
Dave Halter 88dcbe1f48 Name.is_definition implementation. 2014-10-23 13:37:35 +02:00
Dave Halter 971f1db823 Create a next_sibling method on _Leaf, which is then used to check for self attributes. 2014-10-23 01:36:24 +02:00
Dave Halter abb8d0e26c get_names_dict removed and use instead the names_dict attribute. 2014-10-23 01:06:50 +02:00
Dave Halter 3bbce49fd3 Scope.names_dict implementation. 2014-10-23 00:51:02 +02:00
Dave Halter 4f4aef7ac8 Param helper class in the tree. 2014-10-22 20:07:42 +02:00
Dave Halter e9f4c60e49 Use used_names not in pgen2, but only in our parser. 2014-10-22 15:50:02 +02:00
Dave Halter e2a07752fd '.NAME' lookups. 2014-10-22 02:33:35 +02:00
Dave Halter 34f3ea6973 More and probably the last tuple assignment stuff. 2014-10-22 02:29:47 +02:00
Dave Halter 297bcf6e19 Parentheses without commas are no tuples. 2014-10-22 02:10:48 +02:00
Dave Halter 6a8b840b29 Be able to differentiate tuple/list/dict. 2014-10-22 01:42:21 +02:00
Dave Halter 14113a1bff Fix a lot more of the tuple assignments. 2014-10-22 01:27:12 +02:00