Commit graph

380 commits

Author SHA1 Message Date
miks1965 3df98644f0 const_expr заменил на expr в инициализаторах параметров по умолчанию 2018-10-03 20:04:04 +03:00
miks1965 bb2ef43840 bug fix #1318 2018-10-02 19:46:41 +03:00
Бондарев Иван 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
Voloshin Bogdan 74f8834449 Merge branch 'master' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-05-04 08:19:34 +03: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
Bogdan Voloshin 95cf30dba5 Merge branch 'master' into features/typeclasses-another-approach
# Conflicts:
#	Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
#	Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2018-04-10 17:25:40 +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
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
miks1965 937c990181 (a,b) := (b,a+b) и прочие прелести в связи с этим. Круто - надо выпускать 3.1 2016-01-14 22:58:45 +03:00
miks1965 5817de29b6 Добавлено: Количество элементов кортежа не должно быть больше 7 2016-01-13 22:34:03 +03:00
miks1965 5ce19c217e (a,b) как кортеж - кажется, получилось 2016-01-13 21:30:17 +03:00
miks1965 8b3e964efc Исправил генерируемые yacc файлы 2015-12-27 21:41:54 +03:00
miks1965 428207fd29 hd 2015-12-27 21:28:23 +03:00
miks1965 c72c7f5327 Исправлена Print(s: string) 2015-12-22 00:00:38 +03:00
miks1965 bd6ae86526 template_operator_name 2015-12-06 22:39:09 +03:00
miks1965 78ba53dea9 function operator+<T>(op1, op2: array of T): array of T; 2015-10-21 21:54:37 +03:00
miks1965 5bdfa92757 extensionmethod 2015-10-10 21:37:34 +03:00
miks1965 711e4aad55 externalmethod 2015-10-10 20:38:09 +03:00
miks1965 05f80f6486 Сделан стек контекстов 2015-08-27 21:13:09 +03:00
miks1965 dac8a1a369 ttt 2015-08-26 13:48:16 +03:00
miks1965 4ff71ddf76 Небольшие правки. В PABCSystem изменен Inc для Char - теперь он работает быстро - всего в 2 раза медленнее, чем для integer 2015-08-20 14:36:29 +03:00
miks1965 6bd95b4260 Убран overload из внутреннего представления. В синтаксисе оставлен для совместимости с Delphi 2015-08-12 22:30:26 +03:00
miks1965 9fa378ae5b -- 2015-08-12 19:11:45 +03:00
miks1965 526d509add Чистка синтаксических узлов. Интерфейс для преобразования дерева 2015-07-31 01:02:56 +03:00
miks1965 ec2318107c Убрал ненужные узлы синтаксического дерева 2015-07-30 14:02:48 +03:00
miks1965 39449dffb4 Переделанные AbstractVisitor, WalkingVisitor.
Индексатор у syntax_tree_node теперь возвращает только подузлы, производные от syntax_tree_node
2015-07-27 21:54:07 +03:00
miks1965 5b7445e7cf Лицензия - русская шапка 2015-07-05 22:16:06 +03:00
miks1965 5f4ae3c7b5 кое какие изменения по мелочи 2015-06-14 18:10:05 +03:00
miks1965 027d0c07e5 Накопившиеся мелочи 2015-06-11 15:12:24 +03:00
miks1965 47757da677 var a: List<integer> -> List<integer>; - это максимум 2015-05-22 19:40:40 +03:00
miks1965 29422b6949 Запретил sequence of всякая гадость 2015-05-21 23:38:54 +03:00
RomanSaushkin 122f19da91 Исправлены две ошибки с лямбдами 2015-05-20 11:54:38 +04:00
miks1965 66b39bf2ff modern_proc_type - окончательный вариант 2015-05-20 10:52:38 +03:00
miks1965 955d9699ee T->T 2015-05-17 21:15:48 +03:00
Бондарев Иван e6e67c193c initial commit 2015-05-14 21:35:07 +02:00