Commit graph

278 commits

Author SHA1 Message Date
Бондарев Иван 291cf2ed3a fixed reduce-reduce conflicts 2018-09-30 11:52:22 +02:00
miks1965 b4edebd2f0 Убрал Rec 2018-09-27 17:59:37 +03:00
miks1965 caba3ede5f #1232 теперь нет потери контекста 2018-09-23 22:38:39 +03:00
Бондарев Иван 3e4f84f3b3 #1125 2018-09-23 18:29:00 +02:00
Бондарев Иван 8884c7e475 static as synonym of class #772 2018-09-22 18:03:02 +02:00
Бондарев Иван 3dc45ff403 static classes #772 2018-09-22 17:49:47 +02:00
miks1965 55d22cef0f bug fix #1192 2018-09-20 23:25:31 +03:00
Бондарев Иван 9484fb94f1 fix #1221 2018-09-19 20:56:11 +02:00
miks1965 da91abdad4 Две литеральные строковые константы не могут стоять подряд 2018-09-16 05:11:08 +03:00
Бондарев Иван ea4e70e540 fix #1113 2018-08-27 21:09:54 +02:00
Бондарев Иван 5bcefabbbd fix #1101 2018-08-26 14:23:47 +02:00
miks1965 35ad768003 Незначительные правки 2018-08-23 16:18:09 +03:00
miks1965 ae51735f34 fix #1072 2018-08-22 12:35:57 +03:00
miks1965 c7b5c7e41f Вернул назад пустой case
В C# разрешен. Удобно закомментировать все ветки для тестирования.
2018-08-16 16:03:17 +03:00
miks1965 8835a25254 Запретил match 1 with;
Запретил пустые case и with - в Delphi именно так
2018-08-16 13:33:27 +03:00
miks1965 c03a869099 Запрещен странный синтаксис в new
Откомментированы Incremental
2018-08-14 12:24:31 +03:00
miks1965 fa6270ce7d Незначительные изменения в грамматике 2018-08-13 12:36:59 +03:00
miks1965 31f153266f fix #1036
процедура Deconstruct автогенерируется для автоклассов
2018-08-12 21:16:18 +03:00
miks1965 696da8c595 Рабочая 2018-08-11 11:08:47 +03:00
miks1965 4906430544 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
#	TreeConverter/LambdaExpressions/Closure/CapturedVariablesTreeBuilder.cs
2018-08-11 10:55:26 +03:00
miks1965 350285a88a ^i - убрал 2018-08-11 10:46:32 +03:00
Бондарев Иван 088639816b #819 2018-08-10 12:21:09 +02:00
miks1965 05308759e3 Незначительные мелочи 2018-08-09 16:53:46 +03:00
Бондарев Иван 08542175da fix #1017 2018-08-06 09:49:42 +02:00
Бондарев Иван c8d9f73bee #938 2018-07-24 22:05:49 +02:00
Voloshin Bogdan 12ee45f0fc Exclude typeclasses from master, because of new workflow. 2018-07-23 02:08:38 +03:00
miks1965 26c92536d3 var b := 10 < 5 ? 1 : 2.0; теперь работает 2018-07-20 14:13:28 +03:00
miks1965 870ad02b48 расширенные свойства для записей
Запрет реализации свойств в интерфейсах
Запрет реализации расширенных индексных свойств
2018-07-18 12:20:45 +03:00
miks1965 eb38416402 bug fix #979 2018-07-17 19:12:27 +03:00
miks1965 7b66297600 bug fix #968 2018-07-12 11:13:08 +03:00
miks1965 d37e43ad35 fix #941 2018-07-05 12:57:31 +03:00
miks1965 0a5e542167 bug fix #940 2018-07-03 17:12:29 +03:00
miks1965 7dc08b2475 bug fix #939 2018-07-03 13:44:19 +03:00
miks1965 70c85a0c6a fix #265 2018-07-01 11:53:34 +03:00
miks1965 a1e1363347 bug fix #918 2018-06-28 22:12:52 +03:00
miks1965 cce1345ee0 bug fix #914 2018-06-12 22:45:54 +03:00
miks1965 e0bf9736d4 bug fix #916 2018-06-12 21:29:12 +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
Бондарев Иван df8a5445ec bug fix #865
bug fix #867
2018-06-03 14:48:27 +02:00
miks1965 78ea0be0e1 bug fix #875
bug fix #876
2018-05-31 00:40:29 +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
miks1965 d31e0f6404 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-05-22 22:31:33 +03:00
Alexander Zakharenko 32f8b7adf2 Allow var token in match..with and require in 'is' expression 2018-05-22 21:30:38 +03:00
miks1965 16b42239ab fix #849 2018-05-22 10:47:48 +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 cff9324ce6 Desugar match-with statement into series of is-expression checks 2018-05-17 02:07:10 +03:00
Alexander Zakharenko 43ee820329 Merge branch 'master' into features/patterns
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-05-17 00:16:13 +03:00
Alexander Zakharenko 97e73db7a6 Allow divide pattern by comma 2018-05-17 00:12:37 +03:00
Voloshin Bogdan 29761537c7 Merge branch 'master' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-05-16 23:07:39 +03:00
Alexander Zakharenko 174613056f First 'is' prototype 2018-05-16 00:26:07 +03:00
miks1965 bf8316cfb2 Откатил фикс #796 2018-05-15 21:01:35 +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
Bogdan Voloshin 86ce1b2734 Merge commit 'aa1b0f043b2cf8f5885a321e6113a0a74e8444a3' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-05-14 17:27:09 +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 8be0622eeb Add keywords to parser 2018-05-12 18:10:37 +03:00
Alexander Zakharenko d257bbd52f Add else case and tests 2018-05-11 19:26:55 +03:00
Alexander Zakharenko f5cf7d8179 Re-generate parser & run tests 2018-05-11 14:11:56 +03:00
Alexander Zakharenko ec44408a75 Code formatting for match with pattern 2018-05-11 13:46:59 +03:00
Бондарев Иван aa1b0f043b fix #796 2018-05-07 21:43:25 +02:00
Бондарев Иван af346c7eb7 bug fix #777 2018-05-02 20:43:45 +02: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
Bogdan Voloshin dc26158d0a Add typeclass param list 2018-04-18 19:08:07 +03:00
Bogdan Voloshin fdfae3b9fd Add where_type_class_constraint 2018-04-10 18:07:31 +03:00
Бондарев Иван ecffe6748f bug fix #752 2018-04-08 16:16:33 +02:00
Alexander Zakharenko 3f93bfa24b Merge 'master' into 'features/patterns' 2018-04-08 13:42:32 +03:00
Bogdan Voloshin 4444cf2689 Add grammar rules and syntax nodes 2018-04-05 20:02:37 +03:00
Бондарев Иван 66c62ce37d bug fix #742 2018-03-25 18:55:26 +02:00
Бондарев Иван 1e648d5a43 Форматные строки (#285) 2018-03-21 21:01:54 +01:00
Бондарев Иван 748669aaec bug fix #725 2018-03-18 11:51:40 +01:00
Бондарев Иван 7039ad3c4f bug fix #682 2018-02-20 20:53:51 +01:00
miks1965 47abf90efa .NET 4.7.1
pabcworknet.ini - добавлен BOM
i.Print для стандартных типов
f.Seek(i) сделана функцией
Подчистка в Graph3D.pas
2018-01-26 23:37:04 +03:00
miks1965 bb93625420 Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-01-12 11:44:27 +03:00
miks1965 650fcb4f2d Object.Print (экспериментально) 2018-01-12 11:42:02 +03:00
Бондарев Иван 97425e8b87 update to #575 2018-01-08 21:23:40 +01:00
miks1965 a39fb76e04 Короткие определения конструкторов.
Пример Chess3D
2018-01-08 22:12:33 +03:00
miks1965 a08322e1c1 bug fix #641 2018-01-06 00:29:19 +03:00
Бондарев Иван f59c462fe7 power operator (#169) 2017-12-29 22:31:00 +01:00
Бондарев Иван 7e7eedc35a bug fix #451 2017-12-29 17:51:33 +01:00
Alexander Zakharenko 0b25c36990 Add 'var' keyword to pattern's variable 2017-12-11 18:45:13 +03:00
miks1965 f40d226f67 Множественные изменения в Graph3D.pas
Функция InRange - как синоним Between
2017-12-09 14:10:03 +03:00
miks1965 2150c80de7 Graph3D.pas
Правка грамматики в связи с :
2017-12-02 20:29:52 +03:00
Бондарев Иван 17b9e02eba bug fix #560 2017-11-19 18:08:26 +01:00
miks1965 881fe86c71 Новая PT4pabc.dll 2017-11-04 22:00:51 +03:00
miks1965 48cd0913c4 bug fix #484 2017-11-03 22:21:03 +03:00
Бондарев Иван c3bb2ed953 bug fix #524 2017-10-15 15:08:57 +02:00
Alexander Zakharenko 35d2cd6d18 End merge
Fix namespace visit, run tests
2017-10-05 19:44:28 +03:00
miks1965 429d47271a SetStandardCoords с параметрами 2017-09-29 20:49:56 +03:00
miks1965 8f9d8367ef Yacc Lex 2017-09-28 08:51:25 +03:00
Бондарев Иван d48c84f28d namespaces (alpha) 2017-09-24 12:12:27 +02:00
miks1965 1d00487702 property virtual override синтаксис 2017-08-06 22:51:12 +03:00
Бондарев Иван ecb2661b4b bug fix #441 2017-07-06 21:07:00 +02:00
miks1965 389e9d27b2 Удалил коммит со step 2017-06-21 21:19:38 +03:00
miks1965 4a448b38eb Небольшие изменения в Роботе и Чертежнике
Заготовка для step в for
2017-06-20 20:29:43 +03:00
miks1965 00646f89a5 loop 5 do
write(1)
2017-06-08 17:56:17 +03:00
miks1965 eb1280ebdc Merge 2017-06-06 05:26:13 +03:00
miks1965 2f3b2294ba class_body -> class_body_list 2017-06-06 05:24:32 +03:00
janise93 d6fd84b935 Add: ??, integer? and semantic checks for ?. 2017-06-03 10:19:52 +03:00
miks1965 eedb09752e Minor changes in ABCPascal.y 2017-06-01 21:54:52 +03:00
miks1965 38842c45e7 bug fix #411
var (a,b) := (1,2)
2017-06-01 13:14:49 +03:00
miks1965 d98f460e79 Working changes 2017-05-31 22:31:11 +03:00
miks1965 356fef909c Working changes 2017-05-22 21:02:50 +03:00
miks1965 8c70f44b94 ?. первая версия. Пока нет проверки ошибок и оборачивания Nullable для размерных типов 2017-05-08 22:59:52 +03:00
miks1965 a8ee800840 work 2017-03-08 00:30:47 +03:00
miks1965 faeedd04d8 Working changes 2017-02-15 08:54:25 +03:00
miks1965 f189fd7160 Небольшой рефакторинг синтаксического сахара 2017-01-26 15:47:13 +03:00
miks1965 6aee6c9add Рефакторинг 2017-01-22 20:54:13 +03:00
miks1965 32cc3ed88f a?[2:10:2] 2017-01-10 08:49:49 +03:00
Бондарев Иван ff58e3ea80 bug fix #319 2016-12-18 14:53:56 +01:00
miks1965 d676ba3267 bug fix #318 #317 2016-12-12 21:57:41 +03:00
miks1965 3e420dba5e Небольшие изменения в грамматике 2016-12-04 18:08:29 +03:00
miks1965 33d748adf0 Лямбды перенесены в грамматике на верхний уровень везде.
Некоторые переносы Replace между визиторами и присваивания Parent
2016-12-01 23:46:54 +03:00
miks1965 a05b51fd16 Лямбды перенесены в грамматике на верхний уровень. Конфликтов с кортежами нет! 2016-11-21 18:39:01 +03:00
miks1965 e644e4ef7a Перегенерация грамматики 2016-11-20 08:30:49 +03:00
miks1965 1dbd724756 Исправление var a, var b, var c 2016-10-21 09:45:25 +03:00
miks1965 2fbdeaaa2c (var a, var b) := (1,2); 2016-10-17 13:28:50 +03:00
Бондарев Иван f171b0f658 Предупреждение при использовании overload 2016-09-22 21:56:07 +02:00
Бондарев Иван 5226b50d32 Параметр цикла foreach должен описываться в заголовке цикла 2016-09-18 12:31:07 +02:00
Бондарев Иван 003c3c9983 Добавлено предупреждение: Использование нелокальной переменной в качестве счетчика цикла 2016-09-15 20:13:02 +02:00
miks1965 79883887d5 Всякая всячина 2016-08-27 11:14:39 +03:00
miks1965 09ef7fcb3b Все последние изменения :) 2016-07-19 21:16:08 +03:00
Бондарев Иван 6ccd4448d4 #159 2016-05-26 13:16:32 +02:00
miks1965 0ae748f2c0 fix #115 2016-04-25 14:25:11 +03:00
miks1965 924785706c Доделал x->begin Result := Print(x) end; Теперь выдается ошибка 2016-04-23 10:28:39 +03:00
miks1965 2771314915 bug fix #139 2016-04-19 13:10:35 +03:00
miks1965 d10563ad7d fix #138 2016-04-18 15:15:49 +03:00
miks1965 194b4fde0b event и yield теперь не требуют экранирования & в a.event, b.yield
Убрал также подсказку по Iterate  и Repeat, расширяющих ЛЮБОЙ класс
2016-04-14 22:11:30 +03:00
miks1965 db628c6815 format (a,b):=(1,2) 1 2016-04-09 22:24:36 +03:00
miks1965 2c5e9a53e5 bug fix #91 2016-04-04 21:38:03 +03:00
miks1965 9adbd4d727 bug fix #90
Some adds to GraphABC
2016-04-04 20:02:29 +03:00
miks1965 75836746bf Исправления конфликтов в грамматике ::
Исправлен баг #99
2016-04-03 22:04:35 +03:00
miks1965 2b4502783f Исправление неточностей в справке 2016-03-20 20:55:54 +03:00
miks1965 2983529171 Working commit 2016-03-14 13:05:49 +03:00
miks1965 01c82f5863 Слайсы 2016-03-11 00:33:35 +03:00
miks1965 bbe2b15590 Исправлено сообщение об ошибке Нельзя наследовать от типа ... 2016-03-09 23:55:18 +03:00
miks1965 e8cf5f6274 Добавление кодировки к Reset Rewrite... 2016-02-11 22:49:12 +03:00
miks1965 978d22acc0 Упростил грамматику. Убрал вызов NewVariable в правиле variable 2016-02-11 15:59:27 +03:00
miks1965 5ff52a07a1 Восстанавливаюсь после ошибки с типами в ?: 2016-02-11 15:15:12 +03:00
miks1965 85b512952c Исправлен выбор типа в операции ?: Выбирается теперь самый общий тип 2016-02-11 08:52:23 +03:00
miks1965 b435cbf7fe foreach по многомерным массивам теперь возвращает правильный тип элемента.
Вернул короткие определения функций - ошибочно запрещал
2016-02-02 02:28:54 +03:00
miks1965 288c9a0606 OnMouseDown := procedure(x,y,mb) -> if mb=1 then Circle(x,y,5) 2016-01-30 02:15:19 +03:00
miks1965 f7c37251b5 var a: 0..integer.MaxValue; - теперь точки в диапазонном типе работают 2016-01-30 00:14:23 +03:00
miks1965 b4cc443595 Sequence of (T,T) 2016-01-24 23:06:01 +03:00
miks1965 68c8ead5cd Work 2016-01-23 08:21:09 +03:00
miks1965 bbae062980 Сделал &System для генерации синтаксических узлов на семантическом уровне чтобы пропускать поиск в модулях и искать сразу в .NET 2016-01-21 15:57:06 +03:00
miks1965 3e844d597b Множественные uses 2016-01-20 20:31:39 +03:00
miks1965 d933ae1f2c Поправил контекст тьюплов для автоформатирования 2016-01-19 23:21:24 +03:00
miks1965 1226bee7ea build_tree_for_formatter 2016-01-18 08:12:50 +03:00
miks1965 711cba9c11 Типы (integer,real) теперь работают и не конкурируют с перечислимыми типами!!!!!
Пришлось запретить скобки в range-типе - иначе были конфликты.
Пока не проверяю неправильность записи (integer = 1, integer = 1) - надо обязательно выдавать ошибку
2016-01-15 22:06:39 +03:00