Commit graph

303 commits

Author SHA1 Message Date
Александр Погорелов 0587512026 Добавлена ошибка при попытке использовать новые типы паттерн матчинга в присваивании. 2019-05-24 10:16:31 +03:00
Alexandr Pogorelov 8a432eee6e
Улучшение паттерн матчинга (#1949)
Матчинг констант, таплов, коллекций. Улучшение матчинга по типам.
2019-05-24 10:04:17 +03:00
Mikhalkovich Stanislav 4d547d9af3 DrawPixels 2019-05-16 15:42:16 +03:00
Mikhalkovich Stanislav f275326032 fix #1830 2019-03-08 00:26:13 +03:00
Бондарев Иван f014935bac fix #1638 2019-02-17 14:19:07 +01:00
Mikhalkovich Stanislav abf31fea91 fix #1733 2019-02-14 00:22:58 +03:00
Mikhalkovich Stanislav 981f01bdc3 fix #1734 2019-02-14 00:10:32 +03:00
Mikhalkovich Stanislav bfc6ac8a84 fix #1696 2019-02-13 21:02:35 +03:00
Александр Погорелов 068b5270d4 fix #1692 2019-02-09 18:20:39 +03:00
Александр Погорелов 17fe2c3df0 fix #1605 2019-01-20 16:47:43 +03:00
Mikhalkovich Stanislav 39fb57f878 Откат фикса #1408 2019-01-03 01:53:23 +03:00
Бондарев Иван 22aa6e5310 fix #1469 2018-12-30 16:10:07 +01:00
Voloshin Bogdan 9ba7308c1a Remove typeclasses 2018-12-25 23:18:49 +03:00
Mikhalkovich Stanislav fd2571ba2d bug fix #1439 #1511
OnKeyPress WPFObjects
2018-12-22 12:56:57 +03:00
Mikhalkovich Stanislav bed2a15a6c fix #1598 2018-12-17 00:27:40 +03:00
Mikhalkovich Stanislav 7b5014e43b fix #1585 2018-12-15 17:04:35 +03:00
Mikhalkovich Stanislav 288e9e8751 fix #1582 2018-12-14 16:33:59 +03:00
Александр Погорелов 1dbf625c33 fix #1408 2018-12-13 11:11:07 +03:00
Александр Погорелов 300c5932a6 fix #1577 2018-12-08 20:36:24 +03:00
Mikhalkovich Stanislav 543d0b678a bugs fix #1254 #1563 2018-12-07 23:10:40 +03:00
Александр Погорелов b9a4c5a5a9 fix #1571 2018-12-07 10:08:53 +03:00
Mikhalkovich Stanislav 753f4f219e bug fix #1570 2018-12-06 21:14:33 +03:00
Александр Погорелов 6f9c2b726d auto properties + extended indexed properties 2018-12-05 11:36:45 +03:00
Mikhalkovich Stanislav bbebfede4c bug fix #1412 2018-12-01 13:08:46 +03:00
miks1965 04e8c601a6 fix #1474 2018-11-09 21:13:13 +03:00
miks1965 c770e3f464 fix #1413 2018-11-08 00:24:28 +03:00
miks1965 088599c8d3 bug fix #1440 2018-11-05 14:57:36 +03:00
miks1965 02991b622f fix #1419 2018-10-26 20:12:42 +03:00
Alexander Algasov 3e2f74ec12 Change tests in according to recent changes & move statement additions inside desugaring algorithm 2018-10-20 19:27:49 +03:00
Alexander Algasov 9e7bd5df51 Implement compile-time pattern compatibility check 2018-10-20 18:59:13 +03:00
Alexander Algasov d1b4ba7cee Merge branch 'master' into features/patterns 2018-10-20 18:23:38 +03:00
Бондарев Иван 1482a35bdf fix #1098 2018-10-04 12:42:54 +02:00
Бондарев Иван 52bd6d3d5a bug fix #1322 2018-10-03 18:40:20 +02:00
miks1965 5eb11cd067 bug fix #1281 2018-09-30 07:45:48 +03:00
miks1965 eab0f36b15 bug fix #1128 2018-09-29 12:38:28 +03:00
miks1965 50d3c255ec Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet 2018-09-27 17:59:43 +03:00
miks1965 b4edebd2f0 Убрал Rec 2018-09-27 17:59:37 +03:00
Бондарев Иван 549de37398 fix #1256 2018-09-26 20:48:50 +02:00
miks1965 29d80edb56 bug fix #1199 2018-09-25 20:35:43 +03:00
miks1965 caba3ede5f #1232 теперь нет потери контекста 2018-09-23 22:38:39 +03:00
miks1965 ac91fc92fa Отладочные правки 2018-09-23 19:00:56 +03:00
Alexander Algasov fedbe2b478 Merge branch 'master' into features/patterns 2018-09-23 11:11:54 +03:00
miks1965 42b7d7263f bug fix #1169 2018-09-12 07:11:26 +03:00
miks1965 be0b395f26 fix #425 2018-08-17 23:07:18 +03:00
miks1965 92baf0f7a3 bug fix #1027 2018-08-09 09:31:48 +03:00
miks1965 0613eaf452 bug fix #1026
f.ReadWord
f.Print
2018-08-07 19:21:09 +03:00
miks1965 00402e120d Повторно фикс #425 2018-07-17 10:30:46 +03:00
miks1965 d6d0d2a86b Graph3D.pas - видимо исправлена ошибка с AnimScale
bug fix #425
2018-07-17 10:25:56 +03:00
Alexander Zakharenko 21301a8fb4 Fix #872 2018-06-17 14:21:52 +03:00
Voloshin Bogdan e9e4bcb6a7 Add error for incorrect instance implementation 2018-06-11 02:08:57 +03:00
Voloshin Bogdan eb4f90edf2 Merge branch 'master' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-06-04 17:40:25 +03:00
Бондарев Иван a2c16c54cb bug fix #887
bug fix #888
2018-06-03 12:46:06 +02:00
Alexander Zakharenko 45fccc19cb Add checks for nulls 2018-05-25 18:02:25 +03:00
Alexander Zakharenko d985a12f91 Fix a bug where deconstruct counter wasn't being reset 2018-05-25 16:28:24 +03:00
Voloshin Bogdan 9c416f3855 Add deducing template type for not inherited typeclasses 2018-05-25 00:39:18 +03:00
Bogdan Voloshin 32b86ece99 Merge branch 'master' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-05-24 14:35:47 +03:00
Alexander Zakharenko 7ed71d08df Add single deconstruct checker 2018-05-23 22:16:25 +03:00
Alexander Zakharenko 0b6f46ff4c Omit type in recursive patterns 2018-05-23 17:56:19 +03:00
Alexander Zakharenko 28fedb6773 Fix pattern success variable not being initialized 2018-05-23 10:55:33 +03:00
Voloshin Bogdan 1f53dad67f Add operators to typeclasses 2018-05-22 21:13:56 +03:00
Voloshin Bogdan e55242a9ef Add search at methods at typeclasses for restricted functions 2018-05-21 04:14:18 +03:00
Voloshin Bogdan 0fd509f669 Merge branch 'master' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	SyntaxTree/tree/SyntaxTreeStreamWriter.cs
#	SyntaxTree/tree/tree.xml
2018-05-19 00:21:42 +03:00
Alexander Zakharenko 56ce22d921 Temporary removed caching (doesn't work in certain cases, i.e. foreach) 2018-05-18 21:25:37 +03:00
Alexander Zakharenko dd90bee60e Add tests & semantic checks 2018-05-18 18:18:38 +03:00
Alexander Zakharenko ac5dff7717 Formatting patterns, and caching matching expression 2018-05-17 23:49:50 +03:00
Alexander Zakharenko 038d6fe839 Fix patterns not working with yields 2018-05-17 22:49:07 +03:00
Alexander Zakharenko 5486f6b6ea Fix label placement 2018-05-17 15:20:16 +03:00
Alexander Zakharenko cff9324ce6 Desugar match-with statement into series of is-expression checks 2018-05-17 02:07:10 +03:00
Alexander Zakharenko c524f083dd Visit else body 2018-05-17 02:03:53 +03:00
Alexander Zakharenko b8e8b237b8 Working recursive patterns 2018-05-17 00:01:52 +03:00
Alexander Zakharenko 97078b0bc3 Working prototype of 'is' in if and assignments 2018-05-16 16:16:42 +03:00
Alexander Zakharenko 174613056f First 'is' prototype 2018-05-16 00:26:07 +03:00
Alexander Zakharenko 556b4bb3c5 Save additional info for desugaring 2018-05-15 17:55:57 +03:00
Bogdan Voloshin a315f9f063 Merge commit '082a998786a49e4e3f3ce0ad799fe1c7b6a90fb7' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.lex
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.y
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	SyntaxTree/tree/AbstractVisitor.cs
#	SyntaxTree/tree/HierarchyVisitor.cs
#	SyntaxTree/tree/SyntaxTreeStreamReader.cs
#	SyntaxTree/tree/SyntaxTreeStreamWriter.cs
#	SyntaxTree/tree/Tree.cs
#	SyntaxTree/tree/Visitor.cs
#	SyntaxTree/tree/tree.xml
#	TestSuite/CompilationSamples/PABCSystem.pas
#	bin/Lib/PABCSystem.pas
2018-05-14 18:01:14 +03:00
Voloshin Bogdan 950ca1c711 Add typeclass deriving translation 2018-05-14 06:37:23 +03:00
Alexander Zakharenko cc21d473f1 Recursive patterns - resugaring example 2018-05-13 20:49:08 +03:00
Alexander Zakharenko d257bbd52f Add else case and tests 2018-05-11 19:26:55 +03:00
Alexander Zakharenko a078dac5eb Merge branch 'master' into features/patterns
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	TestSuite/CompilationSamples/PABCSystem.pas
#	bin/Lib/PABCSystem.pas
2018-05-11 13:58:19 +03:00
Alexander Zakharenko ec44408a75 Code formatting for match with pattern 2018-05-11 13:46:59 +03:00
Alexander Zakharenko 9d3fd3e5aa Implement deconstruction, simple case 2018-05-06 20:09:36 +03:00
Voloshin Bogdan 3c00e075e7 Merge branch 'master' into features/typeclasses-another-approach 2018-05-02 13:04:01 +03:00
Alexander Zakharenko 17cb96a479 Refactor nodes 2018-05-01 19:51:24 +03:00
Alexander Zakharenko 5aff52feeb Add deconstruct pattern to grammar 2018-05-01 19:29:39 +03:00
Бондарев Иван c6aecfef3b bug fix #780 2018-05-01 13:32:27 +02:00
Bogdan Voloshin e26cdc9c15 Add to examples Eq, Show and Read typeclasses 2018-04-26 19:29:58 +03:00
Bogdan Voloshin c0bdc307e1 Add method call translation 2018-04-25 19:54:24 +03:00
Bogdan Voloshin c0eb1de16c Add proj file update 2018-04-24 19:51:28 +03:00
Bogdan Voloshin 2a7c88a902 Add utility visitors for translation of restricted method call 2018-04-24 19:50:23 +03:00
Voloshin Bogdan efa25e3c61 Minor fixes 2018-04-20 12:03:38 +03:00
Voloshin Bogdan 238b2ed91e Fix typeclass template name substitution at procedure/function body translation 2018-04-20 11:35:37 +03:00
Voloshin Bogdan 8099578056 Implemet procedure body translation 2018-04-20 10:40:55 +03:00
Voloshin Bogdan 88cbcb5b4d Merge branch 'master' into features/typeclasses-another-approach 2018-04-20 05:19:39 +03:00
Бондарев Иван 3e1d264cbd bug fix #778 2018-04-19 20:11:51 +02:00
Bogdan Voloshin 10acad0a19 Implement constrained function/procedure header translation 2018-04-19 17:50:09 +03:00
Bogdan Voloshin 15b6cba732 Start implementation constraint procedures/functions 2018-04-18 20:12:12 +03:00
Bogdan Voloshin f4bc14e035 Add instance declaration translation 2018-04-17 19:07:59 +03:00
Bogdan Voloshin 9e9890b4ab Add typeclass declaration translation 2018-04-13 18:25:29 +03:00
Voloshin Bogdan b8eeb50ab0 Add syntax visitor for typeclass translation 2018-04-12 10:44:07 +03:00
Alexander Zakharenko 3f93bfa24b Merge 'master' into 'features/patterns' 2018-04-08 13:42:32 +03:00
miks1965 b5892cb1db bug fix #635
Release 3.3.0.1611
2018-01-06 14:02:18 +03:00
Бондарев Иван 12c97a26ab copyright 2005-2018 2018-01-01 13:14:03 +01:00
Alexander Zakharenko 84033bfa5d Make nested 'if' generation for match..with 2017-12-11 19:26:57 +03:00
miks1965 8f1bc4eed2 Поменял иконку на 32x32
Начало анимации в Graph3D
2017-11-16 23:10:30 +03:00
miks1965 f386c9a44d bug fix #539 2017-11-02 12:21:02 +03:00
miks1965 2c44f13b7e Доработка LightSymTable 2017-10-26 19:39:20 +03:00
miks1965 2895fd80e9 Убрал отладочный вывод в файл 2017-10-25 21:35:32 +03:00
Alexander Zakharenko 597ef862bc Merge branch 'master' into features/patterns
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	Parsers/PascalABCParserNewSaushkin/Keywords.cs
#	SyntaxTree/tree/AbstractVisitor.cs
#	SyntaxTreeConverters/StandardSyntaxConverter.cs
#	TestSuite/CompilationSamples/PABCSystem.pas
#	TestSuite/intellisense_tests/PABCSystem.pas
#	bin/Lib/PABCSystem.pas
2017-10-05 18:48:57 +03:00
miks1965 57a455a05f Комментарии в GraphWPF 2017-09-28 08:48:33 +03:00
Alexander Zakharenko 11f69bbf44 Merge branch 'master' into features/patterns
# Conflicts:
#	CodeCompletion/CodeFormatter.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.y
#	SyntaxTree/tree/AbstractVisitor.cs
#	SyntaxTree/tree/HierarchyVisitor.cs
#	SyntaxTree/tree/SyntaxTreeStreamReader.cs
#	SyntaxTree/tree/SyntaxTreeStreamWriter.cs
#	SyntaxTree/tree/Tree.cs
#	SyntaxTree/tree/Visitor.cs
#	SyntaxTree/tree/tree.xml
#	SyntaxVisitors/SyntaxVisitors.csproj
#	TestSuite/CompilationSamples/PABCSystem.pas
#	bin/Lib/PABCSystem.pas
2017-07-23 22:29:24 +03:00
Бондарев Иван c67922ebc3 bug fix #439 2017-07-16 12:44:30 +02:00
miks1965 be24727b97 function ReadInteger2(message: string): (integer,integer);
и
вынос повторяющихся вычислений в ?.
2017-06-17 00:47:08 +03:00
miks1965 682e09b86c ?? небольшие исправления 2017-06-12 12:39:18 +03:00
miks1965 00646f89a5 loop 5 do
write(1)
2017-06-08 17:56:17 +03:00
miks1965 2f3b2294ba class_body -> class_body_list 2017-06-06 05:24:32 +03:00
janise93 3decd7fc64 Add: ??, integer? and semantic checks for ?. 2017-06-03 10:25:17 +03:00
janise93 d6fd84b935 Add: ??, integer? and semantic checks for ?. 2017-06-03 10:19:52 +03:00
janise93 5344852738 Add: ??, integer? and semantic checks for ?. 2017-06-03 00:30:15 +03:00
miks1965 38842c45e7 bug fix #411
var (a,b) := (1,2)
2017-06-01 13:14:49 +03:00
miks1965 103c0a4ad2 working changes 2017-05-10 00:21:57 +03:00
miks1965 8c70f44b94 ?. первая версия. Пока нет проверки ошибок и оборачивания Nullable для размерных типов 2017-05-08 22:59:52 +03:00
miks1965 ad4be08834 bug fix #375 2017-05-01 17:08:26 +03:00
miks1965 d41e517311 bug fix #389 2017-04-28 22:41:40 +03:00
Alexander Zakharenko 4427e41576 Форматирование кода для is_pattern 2017-03-06 02:00:50 +03:00
Alexander Zakharenko a45199256d Add Match...with construction 2017-02-20 13:57:13 +03:00
Alexander Zakharenko c015d16514 Merge branch 'master' into features/patterns
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	SyntaxTreeConverters/StandardSyntaxConverter.cs
#	bin/Lib/PABCRtl.dll
2017-02-19 17:29:54 +03:00
Бондарев Иван 65a2566223 bug fix #347
add missing copyrights
change year in copyright
2017-02-19 14:29:24 +01:00
miks1965 58f342fdb2 #343 bug fix 2017-02-18 00:19:27 +03:00
Alexander Zakharenko 04940838fa Add pattern desugaring visitor 2017-02-12 20:40:59 +03:00
Alexander Zakharenko 5c11c87960 Add type_pattern 2017-02-12 19:52:59 +03:00
miks1965 9967adf5ee a[:][:] 2017-02-06 11:02:42 +03:00
miks1965 6dd106d950 Console compiler добавил dll 2017-02-04 20:02:07 +03:00
miks1965 a14960b048 Перенес StandardSyntaxConverter.cs в проект SyntaxTreeConverters.csproj 2017-01-30 10:19:35 +03:00
miks1965 f189fd7160 Небольшой рефакторинг синтаксического сахара 2017-01-26 15:47:13 +03:00
miks1965 3ec8202744 TupleVisitor.cs 2017-01-22 21:00:20 +03:00
miks1965 6aee6c9add Рефакторинг 2017-01-22 20:54:13 +03:00
miks1965 6779e4d62c узел sugared_addressed_value - для slice_expr 2017-01-21 00:33:12 +03:00
miks1965 0ea26ac4e9 syntax_tree_visitor_semcheck_helper.cs добавил 2017-01-20 21:41:28 +03:00
miks1965 10764db792 Небольшие переименования методов 2017-01-20 19:56:43 +03:00
miks1965 9ccc781465 Несколько важных правок в syntax_tree_visitor.cs, связанных с обходом statement_list
Теперь оператор внутриблочного описания возвращает нулевой semantic_node (всё добавлено в семантическое дерево ранее). В семантические дерево узлы, возвращающие нулевой semantic_node, не добавляются

Добавлены также операторы сравнения < > для Tuples
2017-01-19 14:21:03 +03:00
miks1965 df3274d578 Изменения в расположении файлов визиторов, чистка проекта от ненужных references, проект YieldConversionSyntax уже не нужен - все его визиторы подключаются явно в StandardSyntaxConverter.cs, ObjectCopier перенесен в подпапку 2017-01-12 15:42:16 +03:00
miks1965 7dae60aba0 FillParentNodesVisitor 2016-10-13 00:56:12 +03:00
miks1965 c3ea3b8c0f PABCSystem.pas убрал строки вызывавшие предупреждения 2016-08-29 21:57:57 +03:00
miks1965 d9872e09d3 Keywords.cs 2016-08-28 20:25:38 +03:00
miks1965 79883887d5 Всякая всячина 2016-08-27 11:14:39 +03:00
miks1965 5272e1db91 bug fix #268 2016-08-20 11:55:59 +03:00
miks1965 c6e66a4599 bug fix #263 2016-08-06 15:23:20 +03:00
miks1965 ed30e42b32 Переделки в PABCSystem - теперь используются yield
Исправлена мелкая ошибка - в генерируемом коде var res исправлена на var $res
2016-08-01 21:46:07 +03:00
miks1965 4d9db48de4 bug fix #255 2016-08-01 18:40:49 +03:00
miks1965 f8769e5d46 bug fix #247 2016-07-22 13:49:33 +03:00
miks1965 b768075b81 bug fix #246 #244 2016-07-22 13:00:58 +03:00
miks1965 09ef7fcb3b Все последние изменения :) 2016-07-19 21:16:08 +03:00
miks1965 11102f0667 Локализованы сообщения об ошибках для yield 2016-07-18 15:58:32 +03:00
miks1965 58825bdaa1 Перенес SyntaxVisitors в папку верхнего кровня 2016-07-18 13:07:08 +03:00