Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Vladisp Специализация без шаблона (#251, #322) #356

Merged
merged 30 commits into from
Jun 26, 2021
Merged
Show file tree
Hide file tree
Changes from 24 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
ddac099
Начальная реализация первого этапа алгоритма (#322)
VladisP May 6, 2021
586f3ac
Исправление неточностей (#322)
VladisP May 15, 2021
519aba8
Исправление форматирования и вспомогательных алгоритмов (#322)
VladisP May 15, 2021
e345faf
Сопоставление с открытыми переменными (#322)
VladisP May 18, 2021
3413e31
Небольшие правки (#322)
VladisP May 24, 2021
a4b48f7
Зарождение симметричных клэшей (#322)
VladisP May 24, 2021
1a10238
Вспомогательные функции для второго этапа алгоритма (#322)
VladisP May 25, 2021
dc0937d
Улучшение сопоставления с открытыми e-переменными (#322)
VladisP May 26, 2021
4c6561c
Решение симметричных клэшей (#322)
VladisP May 27, 2021
023e972
Динамическое обобщение + небольшие исправления (#322)
VladisP May 29, 2021
91a0f39
Исправление ошибок, из-за которых падали тесты (#322)
VladisP May 29, 2021
a376094
Исправление недочетов (#322)
VladisP May 30, 2021
3e4ccc0
Черновая реализация расширенной специализации (#251)
VladisP Jun 5, 2021
3f42c44
Улучшение расширенной специализации (#251, #322)
VladisP Jun 20, 2021
a2e09cd
Исправление ошибки в HighLevelRASL.ref (#251)
VladisP Jun 21, 2021
765e503
Улучшенная обработка неудачного сопоставления аргумента с предложение…
VladisP Jun 21, 2021
961f5cf
Учёт нюанса с открытыми e-переменными (#322)
VladisP Jun 21, 2021
cd8891e
Удаление старого кода (#251, #322)
VladisP Jun 21, 2021
d3d27ea
Исправление упавшего теста (#251)
VladisP Jun 21, 2021
6d74e66
Изменение логики работы с сужениями (#322)
VladisP Jun 22, 2021
a07a113
Сохранение артефактов в CI (#323)
VladisP Jun 22, 2021
b90f4e5
Улучшенное сохранение артефактов в CI (#323)
VladisP Jun 22, 2021
ed09ea6
Латание странной проблемы при прогонке и специализации (#323)
Mazdaywik Jun 6, 2021
3d16abf
Увеличение лимита памяти для автотестов (#251)
VladisP Jun 23, 2021
149255d
Изменение последовательности применения операций разрешения клэшей (#…
VladisP Jun 25, 2021
7cb632a
Добавление РПЗ и презентации (#322)
VladisP Jun 25, 2021
ee070ed
Merge branch 'master' into vladisp-generic-match
VladisP Jun 25, 2021
54c28ca
Хак, запрещающий создание более 100 экземпляров при специализации (#332)
VladisP Jun 25, 2021
d0c936f
Merge branch 'vladisp-generic-match' of https://github.com/bmstu-iu9/…
VladisP Jun 25, 2021
baca017
Тонкий нюанс с обобщением в специализации (#251)
VladisP Jun 26, 2021
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 14 additions & 2 deletions .github/workflows/CI-posix.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,8 @@ jobs:
strategy:
matrix:

os: [ubuntu-latest, macos-latest, windows-latest]
ccomp: [gcc, clang]
os: [ ubuntu-latest, macos-latest, windows-latest ]
ccomp: [ gcc, clang ]
exclude:
# clang отсутствует на сервере сборки для Windows
- os: windows-latest
Expand All @@ -33,3 +33,15 @@ jobs:
cp .github/workflows/conf-template-${{ matrix.ccomp }}.bash c-plus-plus.conf.sh
./bootstrap.sh
shell: bash

- uses: actions/upload-artifact@v2
if: failure()
with:
name: log-info-posix
path: |
autotests/__error.txt
autotests/__dump.txt
autotests/__log.txt
bin
src
retention-days: 5
12 changes: 12 additions & 0 deletions .github/workflows/CI-windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -24,3 +24,15 @@ jobs:
copy .github\workflows\conf-template-${{ matrix.ccomp }}.bat c-plus-plus.conf.bat
bootstrap.bat
shell: cmd

- uses: actions/upload-artifact@v2
if: failure()
with:
name: log-info-windows
path: |
autotests\__error.txt
autotests\__dump.txt
autotests\__log.txt
bin
src
retention-days: 5
4 changes: 2 additions & 2 deletions autotests/@refal-5-lambda-diagnostics.ini
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
memory-limit = 10000000
step-limit = 15000000
memory-limit = 20000000
step-limit = 1000000000
idents-limit = 5000
enable-debugger = false
16 changes: 16 additions & 0 deletions autotests/opt-tree-spec10.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
* TREE

$ENTRY Go {
= <F ('A')>
}

F {
t.X = <Eq (t.X) t.X>
}

$SPEC Eq e.arg;

Eq {
t.Eq t.Eq = True;
t._ t._ = False;
}
15 changes: 15 additions & 0 deletions autotests/opt-tree-spec11.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* TREE

$ENTRY Go {
= <F 1 '@' 2 '#' 3>
}

F {
e.X = <G (e.X) '+' (e.X)>
}

$SPEC G e.arg;

G {
(e.A '@' e.B) s.R (e.C '#' e.D) = (e.A) s.R (e.B) s.R (e.C) s.R (e.D);
}
30 changes: 30 additions & 0 deletions autotests/opt-tree-spec12.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
* TREE

$ENTRY Go {
/* empty */
= <F () ('AABBAACC' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('A') ('ABBAACC' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AA') ('BBAACC' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AAB') ('BAACC' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABB') ('AACC' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABBA') ('ACC' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABBAA') ('CC' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABBAAC') ('C' 9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABBAACC') (9 'DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABBAACC' 9) ('DD')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABBAACC' 9 'D') ('D')> : ('AA') ('BB') ('CC') ('DD')
= <F ('AABBAACC' 9 'DD') ()> : ('AA') ('BB') ('CC') ('DD')
= /* empty */;
}

F {
(e.1) (e.2) = <S e.1 e.2>;
}

$SPEC S e.arg;

S {
e.A e.B e.A e.C 9 e.D
, e.A : s._ s._
= (e.A) (e.B) (e.C) (e.D);
}
16 changes: 16 additions & 0 deletions autotests/opt-tree-spec13.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
* TREE

$ENTRY Go {
= <F (A 1) (B 1)>
}

F {
(e.A) (e.B) = <S (e.B) (e.A) (e.B)>
}

$SPEC S e.arg;

S {
(e.Z) (e.1 A s.X e.2) (e.3 B s.X e.4)
= e.Z s.X;
}
12 changes: 12 additions & 0 deletions autotests/opt-tree-spec7.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
* TREE

$ENTRY Go {
e.X = <S { = e.X }> : False = /* empty */;
}

$SPEC S s.X;

S {
s.X, A : s.X = True;
s._ = False;
}
15 changes: 15 additions & 0 deletions autotests/opt-tree-spec8.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
* TREE

$SPEC Rot e.dyn;

Rot {
e.1 s.2 = s.2 e.1;
}

Example {
(e.X) (e.Y) = <Rot 'A' e.X e.Y>;
}

$ENTRY Go {
= <Example (1 'a' 2) (3 'b' 4)>;
}
12 changes: 12 additions & 0 deletions autotests/opt-tree-spec9.ref
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
* TREE

$ENTRY Go {
e.X = <Eq (A e.X) (e.X A)>;
}

$SPEC Eq e.arg;

Eq {
t.X t.X = True t.X;
t.Y t.Z = False t.Y t.Z;
}
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
memory-limit = 10000000
step-limit = 100000000
memory-limit = 20000000
step-limit = 1000000000
idents-limit = 5000
enable-debugger = false
Loading