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
9d3fd3e5aa
Implement deconstruction, simple case
2018-05-06 20:09:36 +03:00
Alexander Zakharenko
ed621517f3
Add common deconstruct procedure to PABCSystem
2018-05-05 12:31:48 +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
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
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
Бондарев Иван
1e648d5a43
Форматные строки ( #285 )
2018-03-21 21:01:54 +01:00
Бондарев Иван
017d515c72
fix in intellisense
2017-12-29 22:11:13 +01:00
Бондарев Иван
f4d1323d62
bug fix #551
2017-11-19 20:04:04 +01:00
miks1965
2c44f13b7e
Доработка LightSymTable
2017-10-26 19:39:20 +03:00
miks1965
2895fd80e9
Убрал отладочный вывод в файл
2017-10-25 21:35:32 +03:00
Alexander Zakharenko
5c30bc4a03
Merge remote-tracking branch 'origin/master' into features/patterns
...
# Conflicts:
# SyntaxTree/tree/AbstractVisitor.cs
# TestSuite/CompilationSamples/PABCSystem.pas
# bin/Lib/PABCSystem.pas
2017-10-09 19:12:18 +03:00
Бондарев Иван
0fd08ba76f
removed not used visit(base_syntax_namespace_node)
2017-10-05 19:57:09 +02:00
Alexander Zakharenko
35d2cd6d18
End merge
...
Fix namespace visit, run tests
2017-10-05 19:44:28 +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
13ca616f0e
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
...
# Conflicts:
# Parsers/PascalABCParserNewSaushkin/ABCPascal.cs
# Parsers/PascalABCParserNewSaushkin/ABCPascalYacc.cs
2017-09-28 08:50:22 +03:00
miks1965
57a455a05f
Комментарии в GraphWPF
2017-09-28 08:48:33 +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
Alexander Zakharenko
a4a744cd6d
Regenerate files after merge
2017-07-23 22:30:08 +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
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
d6fd84b935
Add: ??, integer? and semantic checks for ?.
2017-06-03 10:19:52 +03:00
Alexander Zakharenko
29f3d2f39c
Revert null check in Add method
2017-06-02 03:38:42 +03:00
Alexander Zakharenko
7912432d9c
Add null checks to syntax list methods
2017-06-02 03:20:10 +03:00
Alexander Zakharenko
d5c73affc3
Fix parents assignment in syntax list methods
2017-06-01 23:49:15 +03:00
miks1965
eedb09752e
Minor changes in ABCPascal.y
2017-06-01 21:54:52 +03:00
Alexander Zakharenko
346d1dc5f1
Update SyntaxGenerator.md
2017-06-01 13:54:12 +03:00
Alexander Zakharenko
ef3581bd8b
Create SyntaxGenerator.md
2017-06-01 13:43:02 +03:00
miks1965
38842c45e7
bug fix #411
...
var (a,b) := (1,2)
2017-06-01 13:14:49 +03:00
miks1965
356fef909c
Working changes
2017-05-22 21:02:50 +03:00
miks1965
e72221f123
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
...
# Conflicts:
# bin/Lib/PABCRtl.dll
2017-05-20 21:12:51 +03:00
miks1965
027bab517c
Minor changes
2017-05-20 21:12:08 +03:00
Alexander Zakharenko
e9e40ba3ac
Добавил вызовы FillParentsInDirectChild в методы узлов со списками
2017-05-20 13:54:40 +03:00
miks1965
4a05abd2ea
unit Speech
2017-05-17 09:45:39 +03:00
Alexander Zakharenko
5ba9bd8dac
HelpData в tree.xml хранится в отсортированном виде
2017-05-15 19:32:19 +03:00
miks1965
d1693556c5
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
...
# Conflicts:
# SyntaxTree/tree/tree.xml
2017-05-15 15:56:45 +03:00
miks1965
5b951e50cd
Work changes
2017-05-15 15:55:48 +03:00
Alexander Zakharenko
4983c2c350
Добавлена генерация методов прошивки Parents
2017-05-12 18:33:27 +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
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
d525166424
Save pattern nodes to XML
2017-02-19 17:34:11 +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
Alexander Zakharenko
c25eb99d85
Add syntax nodes info in xml
2017-02-18 12:36:53 +03:00
Alexander Zakharenko
c18f52abc3
Add XML serialization support for syntax generator
2017-02-18 12:20:03 +03:00
Alexander Zakharenko
94e54ec015
InsertBefore/After method fix
2017-02-12 22:01:44 +03:00
Alexander Zakharenko
5c11c87960
Add type_pattern
2017-02-12 19:52:59 +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
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
1557775799
Кое-какие правки для реализации синтаксического сахара
2017-01-10 21:18:40 +03:00
miks1965
32cc3ed88f
a?[2:10:2]
2017-01-10 08:49:49 +03:00
miks1965
7b450b8ff4
MoveRel LineRel в GraphABC.pas
...
PascalABCVersion и sort с less в PABCSystem
2016-12-17 17:31:09 +03:00
miks1965
33d748adf0
Лямбды перенесены в грамматике на верхний уровень везде.
...
Некоторые переносы Replace между визиторами и присваивания Parent
2016-12-01 23:46:54 +03:00
miks1965
d1c70d1fc0
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
...
# Conflicts:
# SyntaxTree/tree/Tree.cs
# bin/Lib/PABCRtl.dll
2016-11-21 18:40:58 +03:00
miks1965
a05b51fd16
Лямбды перенесены в грамматике на верхний уровень. Конфликтов с кортежами нет!
2016-11-21 18:39:01 +03:00
Alexander Zakharenko
f5ec54aa4f
Исправлена генерация Clone()
2016-11-21 12:42:44 +03:00
miks1965
b3c33a133d
Русские команды в Роботе и Чертежнике
...
a.RowCount a.ColCount
2016-11-20 23:43:57 +03:00
Alexander Zakharenko
bffca076fd
Кэширование шаблонов
2016-11-16 22:12:36 +03:00
Alexander Zakharenko
dd87721e1f
Шаблоны методов и конструкторов для узлов со списками перенесены в отдельные файлы
2016-11-16 21:45:01 +03:00
miks1965
7c8cb2f502
a.Row a.Col для матрицы
2016-11-16 10:00:30 +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
miks1965
7ed36f0d85
Незначительные исправления
2016-10-17 12:16:10 +03:00
miks1965
7dae60aba0
FillParentNodesVisitor
2016-10-13 00:56:12 +03:00
Alexander Zakharenko
81bc22856e
Добавлены комментарии, начата реализация методов with
2016-10-11 00:19:35 +03:00
Alexander Zakharenko
9abe672601
Добавил проверку на null в методы клонирования
2016-10-10 19:01:00 +03:00
Alexander Zakharenko
8b592136b7
Реализовано формирование предков при клонировании синтаксических узлов
2016-10-09 21:56:58 +03:00
Alexander Zakharenko
4da7626d48
Реализован метод Clone синтаксических узлов
2016-10-08 23:38:14 +03:00
miks1965
c3ea3b8c0f
PABCSystem.pas убрал строки вызывавшие предупреждения
2016-08-29 21:57:57 +03:00
miks1965
c92984982e
SyntaxTree/tree/FillParentNodeVisitor.cs
2016-08-28 21:11:34 +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
c8559b5832
bug fix #253
...
Some enhancements in Syntax subtrees generation: arrid.dot_node("Length").Minus(1)
2016-07-30 10:04:52 +03:00
miks1965
945b18a326
Оптимизирован foreach для массивов - для него генерируется цикл for
2016-07-29 16:54:51 +03:00
miks1965
f8769e5d46
bug fix #247
2016-07-22 13:49:33 +03:00
miks1965
09ef7fcb3b
Все последние изменения :)
2016-07-19 21:16:08 +03:00
miks1965
11102f0667
Локализованы сообщения об ошибках для yield
2016-07-18 15:58:32 +03:00
miks1965
b96edffd7e
bug fix #223
2016-07-16 11:28:06 +03:00
miks1965
183d51742f
PT4 вернул к новой версии
2016-07-13 22:42:42 +03:00
miks1965
40ad330bf7
Мелкие исправления yield
2016-07-10 14:49:12 +03:00
miks1965
c6eaba8f94
Множество правок, связанных с yield.
...
В частности, изменен алгоритм генерации конечного автомата, поправлен код для GetEnumerator и проч.
2016-07-08 23:20:56 +03:00
miks1965
866236bfb2
a.Low a.High в PABCSystem.pas
...
Coordinate.Rotate в GraphABC
2016-06-24 23:00:16 +03:00
miks1965
61353b8f04
yield bug fix #205
2016-06-18 11:13:55 +03:00
Oleg Batashov
3d5ac1042c
Yield: some static names capture fix
2016-06-14 23:28:40 +03:00
Oleg Batashov
6d6e86d6b1
Yield: some foreach helper nodes changed
2016-06-14 04:09:58 +03:00
Oleg Batashov
6f9e649c5a
Yield: bug fix #200
2016-06-11 15:06:23 +03:00
miks1965
85a81c8cb2
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
2016-06-06 11:40:56 +03:00
Oleg Batashov
d5a7a3964f
Yield: bug fix #189
2016-06-05 15:30:58 +03:00
miks1965
1d941cf60a
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
...
Conflicts:
Configuration/GlobalAssemblyInfo.cs
Configuration/Version.defs
ReleaseGenerators/PascalABCNET_version.nsh
bin/Lib/PABCRtl.dll
2016-06-03 18:40:13 +03:00
miks1965
143b118d66
GraphABC.pas - несущественные правки
2016-06-03 18:00:31 +03:00
Oleg Batashov
cf3ff863d8
Yield: fixed removal of yield-helpers for pre-defined class methods with external body
2016-06-03 16:36:57 +03:00
Alexander Zakharenko
30cde5292c
Добавлена функция DescendantNodes с параметрами по умолчанию
2016-06-01 14:56:21 +03:00
Oleg Batashov
8b89c3f1b2
Foreach lowering bugfix
2016-05-30 00:40:41 +03:00
Oleg Batashov
355452bccf
Foreach lowering added
2016-05-29 15:11:12 +03:00
Alexander Zakharenko
49c91a4a1f
Добавлены дополнительные методы обхода для DescendantNodes
2016-05-25 20:24:11 +03:00
Alexander Zakharenko
38a9e9f2b5
Переименованы функции Replace и FindIndex для списков в синтаксических узлах
2016-05-24 16:58:07 +03:00
miks1965
0793bfd6a3
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
...
Conflicts:
SyntaxTree/tree/TreeHelper.cs
2016-05-23 13:52:19 +03:00
miks1965
f840cf5f95
TreeHelper.cs ?. убрал
2016-05-23 13:49:12 +03:00
Alexander Zakharenko
1b57cc83a5
Изменены проверки на null в свойствах method_call
2016-05-23 13:46:16 +03:00
Alexander Zakharenko
d4d386fa30
Исправлена генерация метода RemoveAll
2016-05-22 19:45:08 +03:00
Alexander Zakharenko
78b0a80983
Исправлен отступ при генерации RemoveAll
2016-05-22 19:35:57 +03:00
Alexander Zakharenko
74b2827e4c
Обновлен генератор, добавлен метод RemoveAll для списков
2016-05-22 19:22:58 +03:00
Alexander Zakharenko
cdf84ad46e
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
2016-05-22 14:43:53 +03:00
Alexander Zakharenko
bfb9e7a20f
Добавлены свойства SimpleName и ParametersCount для method_call
2016-05-22 14:43:38 +03:00
Oleg Batashov
8b6fbc3edf
Yield helper methods remove speedup
2016-05-20 17:08:56 +03:00
Oleg Batashov
4050d31097
Yield tree conversion projects added
2016-05-19 02:14:06 +03:00
Alexander Zakharenko
c2387fc548
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
2016-05-18 17:59:48 +03:00
Alexander Zakharenko
a2695ab57c
Добавлен метод получения узлов поддерева в виде списка
2016-05-18 17:46:24 +03:00
miks1965
a5b8eaac6f
PABCSystem несколько переопределений операций для SortedSet
2016-05-16 09:53:51 +03:00
miks1965
08c4128220
has_yield в procedure_definition в TreeHelper.cs
2016-05-12 15:26:43 +03:00
miks1965
978e4b6404
[Serializable] public class SourceContext
...
и пара синтаксических визиторов для примера использования в конверторе
2016-05-06 22:59:54 +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
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
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
789ae132c5
Merge branch 'master' of https://github.com/pascalabcnet/pascalabcnet
...
Conflicts:
SyntaxTree/tree/tree.nin
2016-03-11 01:25:16 +03:00
miks1965
01c82f5863
Слайсы
2016-03-11 00:33:35 +03:00
Alexander Zakharenko
907ad3fc86
Добавлена генерация методов для узлов, содержащих List. Из TreeHelper.cs удалены конфликтующие методы. В tree.nin из addressed_value_list удален конструктор, аналогичный новому сгенерированному.
2016-03-10 11:38:37 +03:00
miks1965
fd99d77471
Косметические
2016-03-03 20:39:41 +03:00
miks1965
e8cf5f6274
Добавление кодировки к Reset Rewrite...
2016-02-11 22:49: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
db6bede364
foreach незначащие изменения (надеюсь)
2016-01-27 22:14:14 +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
5ce19c217e
(a,b) как кортеж - кажется, получилось
2016-01-13 21:30:17 +03:00
Artem Pelenitsyn
49378a6750
change encoding for all *.pas and *.cs files: cp1251 -> utf-8
2015-12-28 14:25:15 +03:00
Бондарев Иван
28551ebc74
bug fix in formatter
2015-12-13 19:52:32 +01:00
Бондарев Иван
e0443cea7a
generic operator extensions (operator+<T>)
2015-12-09 22:11:38 +01:00
miks1965
bd6ae86526
template_operator_name
2015-12-06 22:39:09 +03:00