Commit Graph

867 Commits

Author SHA1 Message Date
Salvo 'LtWorf' Tomaselli
9c3e012e71 More type safety 2020-06-18 17:34:59 +02:00
Salvo 'LtWorf' Tomaselli
c5a71be509 Tell mypy about the values of name in nodes 2020-06-18 17:34:59 +02:00
Salvo 'LtWorf' Tomaselli
4ab01c9e47 Not a constant 2020-06-18 17:34:58 +02:00
Salvo 'LtWorf' Tomaselli
aa6568bac2 Check class too when matching 2020-06-18 17:34:58 +02:00
Salvo 'LtWorf' Tomaselli
15f5de6958 Raise exception, will fix it later 2020-06-18 17:34:58 +02:00
Salvo 'LtWorf' Tomaselli
6a33e8ee08 Improve type annotations 2020-06-18 17:34:58 +02:00
Salvo 'LtWorf' Tomaselli
4ef4d679ac Remove object inheritance 2020-06-18 17:34:58 +02:00
Salvo 'LtWorf' Tomaselli
3837a849a3 Run mypy on travis 2020-06-18 17:34:55 +02:00
Salvo 'LtWorf' Tomaselli
d3d3c47281 Merge pull request #24 from ltworf/fix_print
Fix print
2020-06-18 17:34:36 +02:00
Salvo 'LtWorf' Tomaselli
a74c17f323 More pythonic code 2020-06-18 17:24:45 +02:00
Salvo 'LtWorf' Tomaselli
dcde484a63 Usual isinstance for mypy 2020-06-18 17:24:23 +02:00
Salvo 'LtWorf' Tomaselli
3b1e90b30e Merge pull request #23 from ltworf/improve_parser
Improve parser
2020-06-18 17:16:53 +02:00
Salvo 'LtWorf' Tomaselli
31a59e1de0 Fix error reporting in the parser 2020-06-18 17:14:30 +02:00
Salvo 'LtWorf' Tomaselli
0df6a263e5 Check it after removing nesting 2020-06-18 17:14:12 +02:00
Salvo 'LtWorf' Tomaselli
e5f7b1745c Add new error about empty expressions. 2020-06-18 17:14:04 +02:00
Salvo 'LtWorf' Tomaselli
7cb6d4941f More parse details 2020-06-18 17:13:45 +02:00
Salvo 'LtWorf' Tomaselli
3056dafbff Reuse code for optimizations 2020-06-18 17:12:57 +02:00
Salvo 'LtWorf' Tomaselli
8fd2db12b5 Reuse code to generate the projection python code 2020-06-18 17:10:34 +02:00
Salvo 'LtWorf' Tomaselli
04f568ad50 Merge pull request #21 from ltworf/pythonic
More pythonic code
2020-06-09 23:52:35 +02:00
Salvo 'LtWorf' Tomaselli
5d3823d0ea Merge pull request #20 from ltworf/refactor_parser
Refactor parser
2020-06-09 23:49:11 +02:00
Salvo 'LtWorf' Tomaselli
74e92d2211 More pythonic code 2020-06-09 23:48:43 +02:00
Salvo 'LtWorf' Tomaselli
d7145171de Finish fixing the optimization
I wrote it ages ago, I was not as skilled as I am now.
2020-06-09 23:47:04 +02:00
Salvo 'LtWorf' Tomaselli
f4a4b847af selection_and_product partial 2020-06-09 22:47:54 +02:00
Salvo 'LtWorf' Tomaselli
f4a8344f3e projection_and_union 2020-06-09 19:43:56 +02:00
Salvo 'LtWorf' Tomaselli
b987180d1c useless_projection 2020-06-09 19:37:57 +02:00
Salvo 'LtWorf' Tomaselli
f139257d2c Typing 2020-06-09 19:37:00 +02:00
Salvo 'LtWorf' Tomaselli
67d050e07d Execute context optimizations 2020-06-09 19:34:26 +02:00
Salvo 'LtWorf' Tomaselli
4337e6073e CHANGELOG 2020-06-09 19:31:56 +02:00
Salvo 'LtWorf' Tomaselli
a2111a90c1 select_union_intersect_subtract 2020-06-09 19:27:47 +02:00
Salvo 'LtWorf' Tomaselli
ff2f890b98 Remove legacy thing 2020-06-09 19:16:02 +02:00
Salvo 'LtWorf' Tomaselli
7806a0a27e union_and_product_ 2020-06-09 19:15:34 +02:00
Salvo 'LtWorf' Tomaselli
34ed9405ea swap_rename_select 2020-06-09 19:05:20 +02:00
Salvo 'LtWorf' Tomaselli
2ad28ba9ad Add test to hit swap_rename_select 2020-06-09 18:40:01 +02:00
Salvo 'LtWorf' Tomaselli
cac990b598 swap_rename_projection 2020-06-09 18:27:11 +02:00
Salvo 'LtWorf' Tomaselli
b17bb103f6 Small fixes 2020-06-09 18:26:03 +02:00
Salvo 'LtWorf' Tomaselli
b3b5afec63 Some convenience methods 2020-06-09 15:56:16 +02:00
Salvo 'LtWorf' Tomaselli
e4d62e9571 futile_renames, subsequent_renames 2020-06-09 15:34:40 +02:00
Salvo 'LtWorf' Tomaselli
4a56b8eaac swap_union_renames 2020-06-09 12:40:11 +02:00
Salvo 'LtWorf' Tomaselli
454f4161bc Add test for swap_union_renames 2020-06-09 12:34:07 +02:00
Salvo 'LtWorf' Tomaselli
6208333f48 Use correct symbols
The unicode symbols are some strange script, they look similar but are not the actual symbols for
math operations. They are leftovers from version 1. The actual values were fixed but not the comments.
2020-06-09 12:32:09 +02:00
Salvo 'LtWorf' Tomaselli
72c4746578 Add function to convert the rename property to a python dict
Probably less error prone, and I can remove code duplication.
2020-06-09 12:05:36 +02:00
Salvo 'LtWorf' Tomaselli
6622ba947e selection_inside_projection 2020-06-09 11:55:25 +02:00
Salvo 'LtWorf' Tomaselli
418e293c1d Enable down_to_unions_subtractions_intersections 2020-06-09 11:50:58 +02:00
Salvo 'LtWorf' Tomaselli
403b7b9962 Enable duplicated_projection 2020-06-09 11:45:35 +02:00
Salvo 'LtWorf' Tomaselli
50647294cb Enable futile_union_intersection_subtraction 2020-06-09 11:43:14 +02:00
Salvo 'LtWorf' Tomaselli
0dcd639c9d Enable one optimization
Due to the fact that the nodes are different classes, this required some refactor.
2020-06-09 11:18:33 +02:00
Salvo 'LtWorf' Tomaselli
3e524278e8 Remove unused 2020-06-09 10:51:40 +02:00
Salvo 'LtWorf' Tomaselli
6c677452e8 Remove old things 2020-06-09 10:14:19 +02:00
Salvo 'LtWorf' Tomaselli
a8426840da Disable all optimizations for now
They are in need of a refactor
2020-06-09 02:06:57 +02:00
Salvo 'LtWorf' Tomaselli
b508149583 Major refactory of the parser
It uses subclasses rather than a kind variable.

This is way more typesafe.
2020-06-09 01:37:19 +02:00