nevermind322
66eaa619a3
Assign tuple optimizer ( #3158 )
...
* branch init
* add BindCollectLightSymInfo
* moved lightsyminfo to syntaxVisitors
* LIghtSymInfo fixes
* binder 0.1
* Attributes -> SymbolAttributes
* AssignTupleOptimizer -> AssignTupleDesugar
* moved algorithm classes to AssignTupleDesugarAlgorithm namespace
* fixes and refactoring
* LightSymInfo rework
* add rebuildDebug and build units
* enable VarNamesInMethodsWithSameNameAsClassGenericParamsReplacer
* remove CollectFullLightSymInfo call
* bind now return BindResult
* change BindResult path type
* path testing
* fix Current in BindCollectLightSymInfo
* fix Current in BindCollectLightSymInfo
* potential symomyms handling without assigns count minimization
* assign count minimization
* rename AssignTuplesDesugar
* move NewAssignTupleDesugar
* add optimization switch
* delete AssignTupleDesugar project
* remove comments
* collect symbols from var tuples
* optimize var_tuple_def_statement and assign_var_tuple
* fix
* fix Tuple Visitor
* fix
* add const optimization
2024-06-23 13:05:10 +03:00
nevermind322
d269c7ca20
Assign tuple optimizer ( #3147 )
...
* branch init
* add BindCollectLightSymInfo
* moved lightsyminfo to syntaxVisitors
* LIghtSymInfo fixes
* binder 0.1
* Attributes -> SymbolAttributes
* AssignTupleOptimizer -> AssignTupleDesugar
* moved algorithm classes to AssignTupleDesugarAlgorithm namespace
* fixes and refactoring
* LightSymInfo rework
* add rebuildDebug and build units
* enable VarNamesInMethodsWithSameNameAsClassGenericParamsReplacer
* remove CollectFullLightSymInfo call
* bind now return BindResult
* change BindResult path type
* path testing
* fix Current in BindCollectLightSymInfo
* fix Current in BindCollectLightSymInfo
* potential symomyms handling without assigns count minimization
* assign count minimization
* rename AssignTuplesDesugar
* move NewAssignTupleDesugar
* add optimization switch
* delete AssignTupleDesugar project
* remove comments
* collect symbols from var tuples
* optimize var_tuple_def_statement and assign_var_tuple
* fix
* fix Tuple Visitor
* fix
2024-06-12 16:15:43 +03:00
nevermind322
2dc3c4e50c
fix CollectLightSymInfo ( #3143 )
...
* branch init
* add BindCollectLightSymInfo
* moved lightsyminfo to syntaxVisitors
* LIghtSymInfo fixes
* binder 0.1
* Attributes -> SymbolAttributes
* AssignTupleOptimizer -> AssignTupleDesugar
* moved algorithm classes to AssignTupleDesugarAlgorithm namespace
* fixes and refactoring
* LightSymInfo rework
* add rebuildDebug and build units
* enable VarNamesInMethodsWithSameNameAsClassGenericParamsReplacer
* remove CollectFullLightSymInfo call
* bind now return BindResult
* change BindResult path type
* path testing
* fix Current in BindCollectLightSymInfo
* fix Current in BindCollectLightSymInfo
* potential symomyms handling without assigns count minimization
* assign count minimization
* rename AssignTuplesDesugar
* move NewAssignTupleDesugar
* add optimization switch
* delete AssignTupleDesugar project
* remove comments
* collect symbols from var tuples
* optimize var_tuple_def_statement and assign_var_tuple
* fix
* fix Tuple Visitor
2024-06-07 20:57:03 +03:00
nevermind322
133d082e4e
Assign tuple optimizer ( #3142 )
...
* branch init
* add BindCollectLightSymInfo
* moved lightsyminfo to syntaxVisitors
* LIghtSymInfo fixes
* binder 0.1
* Attributes -> SymbolAttributes
* AssignTupleOptimizer -> AssignTupleDesugar
* moved algorithm classes to AssignTupleDesugarAlgorithm namespace
* fixes and refactoring
* LightSymInfo rework
* add rebuildDebug and build units
* enable VarNamesInMethodsWithSameNameAsClassGenericParamsReplacer
* remove CollectFullLightSymInfo call
* bind now return BindResult
* change BindResult path type
* path testing
* fix Current in BindCollectLightSymInfo
* fix Current in BindCollectLightSymInfo
* potential symomyms handling without assigns count minimization
* assign count minimization
* rename AssignTuplesDesugar
* move NewAssignTupleDesugar
* add optimization switch
* delete AssignTupleDesugar project
* remove comments
2024-06-06 23:10:38 +03:00
Mikhalkovich Stanislav
f2d4637338
assign с first_assignment_defines_type и тестовым примером
2024-03-29 13:53:46 +03:00
Mikhalkovich Stanislav
98ecc8a608
Тестовый визитор с same_node_type
2024-03-27 12:07:34 +03:00
Mikhalkovich Stanislav
4bf9c36d49
Исправление реализации (var b := 1) методом синтаксического сахара
2024-01-02 14:43:48 +03:00
Mikhalkovich Stanislav
dc95f368d7
Исправлена ошибка с x[1:^1][5]
2023-06-06 08:14:59 +03:00
Mikhalkovich Stanislav
af9b6acb91
Ликвидация зависимости проектов PascalABCSaushkinParser и SyntaxVisitors от
...
проекта TreeConverter, то есть, от семантического уровня
Необходимо применить эти изменения и перекомпилировать в ОС РОСА
2023-05-31 14:04:04 +03:00
Mikhalkovich Stanislav
ebc86578d3
fix #2863
2023-05-25 14:03:05 +03:00
Mikhalkovich Stanislav
03dea1990c
Ускорен (a,b) := (b,a) - работает как Swap
2023-05-16 15:36:00 +03:00
Mikhalkovich Stanislav
b4fbef4608
Исправление ошибки с двумя вложенными for step
...
К сожалению, привело к тому, что менять переменную цикла внутри цикла можно
2022-09-05 19:49:13 +03:00
Mikhalkovich Stanislav
3b8e54fe1e
В [cache] Tuple заменен на ValueTuple если таковой имеется. Это проверяется во время компиляции.
...
Это позволило ускорить кеширование функций с 2 параметрами и более примерно в 3 раза
2022-05-09 20:29:04 +03:00
Mikhalkovich Stanislav
104f0d43da
[cache] для одного параметра не оборачивает его в Tuple - за счет этого ускорена в 10 раз
2022-05-08 19:37:15 +03:00
Mikhalkovich Stanislav
ea669a4c4f
fix #2664
...
LifeWPF в примерах с сверхбыстрой графикой
Убрал с toolbar AutoInsertCode
Freeze для GetBrush
2022-05-03 15:27:16 +03:00
Mikhalkovich Stanislav
a03d33b586
3.8.3
2022-03-08 21:41:46 +03:00
Mikhalkovich Stanislav
86dd24c5b6
step = 0 - хорошее runtime сообщение об ошибке
2022-02-27 19:58:49 +03:00
Mikhalkovich Stanislav
3240593d2e
Реализован foreach index
...
Исправлена ошибка for step
Дополнена справка по for step и foreach index
J,yjdkty ntrcnjdsq htlfrnjh? gjlcdtxbdf.obq ыеуз b штвуч rjyntrcnyj d hfvrf[ jlyjq cnhjrb
2022-02-26 12:33:53 +03:00
Mikhalkovich Stanislav
aece73f33c
for var i:=1 to 5 step 2 do
2022-02-21 17:03:34 +03:00
Mikhalkovich Stanislav
ecf7ef3663
[Cache] может работать с exit и использует d.TryGetValue
2021-08-28 23:15:33 +03:00
Mikhalkovich Stanislav
bc42aca1e5
CacheFunctionVisitor.cs
2021-08-10 22:27:26 +03:00
Mikhalkovich Stanislav
2eaaa1f6cd
fix #2482
2021-05-05 23:31:17 +03:00
Mikhalkovich Stanislav
f85758a059
Исправлена ошибка при распаковке параметров лямбд с несколькими параметрами
...
Divizors переименован в Divisors
2021-03-26 00:12:48 +03:00
Mikhalkovich Stanislav
4525f5a9b4
UnpackLambdaParametersVisitor.cs - забытый файл
2021-03-08 00:00:59 +03:00
Mikhalkovich Stanislav
c77b124cce
Версия с неверно форматирующимся
...
##
{asg}
uses School;
procedure p := Print(1);
p;
Код с ### пока без процедур и функций
2021-02-27 23:44:07 +03:00
Mikhalkovich Stanislav
05f158875d
Многомерные срезы - пока без семантического контроля
...
И интеллисенс a[1,:] неверно показывает тип
2021-02-24 18:41:51 +03:00
Mikhalkovich Stanislav
7c3273aae8
Многомерные срезы без семантических проверок
...
Разрешил a as array [,] of T
2021-02-24 00:47:39 +03:00
Mikhalkovich Stanislav
55a09ac403
a[^1,^1]
2021-02-17 21:29:33 +03:00
Ivan Bondarev
460247ccc6
fix #2330
2020-12-27 12:18:28 +01:00
Mikhalkovich Stanislav
608afb9339
fix #2361
2020-12-09 19:09:36 +03:00
Mikhalkovich Stanislav
2c252b2b0c
true ?? true source_context
2020-11-25 21:35:04 +03:00
Mikhalkovich Stanislav
682c640d29
fix #2324
...
NextPermutation видима
RunUnitTests - убрал StackTrace
2020-10-12 20:21:09 +03:00
Mikhalkovich Stanislav
60071dc286
fix #2314
2020-10-01 17:13:25 +03:00
Mikhalkovich Stanislav
57e6860870
Оптимизация (a,b) := (1,2) и var (a,b) := (1,2)
2020-08-17 10:51:28 +03:00
Mikhalkovich Stanislav
04e099c3f7
var (a,b) := (1,2);
...
раскрывается в 2 присваивания
2020-08-16 12:03:35 +03:00
Mikhalkovich Stanislav
fc234f7cc4
Исправление ошибки с захватом лямбдой переменной, объявленной в виде var (m,n) := ...
2020-08-15 22:56:19 +03:00
Mikhalkovich Stanislav
5f85d9aadf
Определён глобальный символ PASCALABC
2020-07-11 21:45:38 +03:00
Mikhalkovich Stanislav
dade22f3d1
//comment
2020-07-11 19:53:36 +03:00
Mikhalkovich Stanislav
2eddbb8f15
Попытка частично заставить работать одновременно #2277 и #2265
2020-07-11 17:11:27 +03:00
Александр Погорелов
e8e70ff33d
a is [collection], a is (tuple) теперь нелегальны. Починил вложенный матчинг
2020-07-03 06:45:23 +03:00
Mikhalkovich Stanislav
4a08774174
fix #2269
2020-06-24 09:41:52 +03:00
Mikhalkovich Stanislav
44a5bee28c
FIX #2265
2020-06-21 17:12:43 +03:00
Mikhalkovich Stanislav
91bb72fc34
fix #2257
2020-06-18 08:23:11 +03:00
Mikhalkovich Stanislav
41316f86d1
fix #2252
2020-06-12 23:31:38 +03:00
Александр Погорелов
0253a47bed
-1 теперь корректное значение для параметра to в SystemSlice
2020-05-05 18:58:06 +03:00
Mikhalkovich Stanislav
ec29e42978
Исправление бага со слайсами в 3.6.3
2020-05-05 16:15:44 +03:00
Александр Погорелов
985d35ef5e
SystemSlice
2020-05-02 11:44:20 +03:00
Александр Погорелов
7f4a8cec42
^ для индексера
2020-04-03 11:48:15 +03:00
Александр Погорелов
9cf75580a5
merge master
2020-03-19 12:46:21 +03:00
Александр Погорелов
ea2871d13b
Фиксы для срезов на присваивание
2020-03-19 12:43:07 +03:00