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

Master #393

Open
wants to merge 101 commits into
base: locations
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
101 commits
Select commit Hold shift + click to select a range
cf91c95
Fix getting type of return statement in mipsgen
TimaFrolov Feb 7, 2023
b4ff2c6
Create separate function for adding function arguments to displacemen…
TimaFrolov Feb 7, 2023
a2d7676
Fix check if argument register in emit_function_definition in mipsgen
TimaFrolov Feb 7, 2023
e7434c7
Disable saving of a0-a3 registers at the entrance to function in mipsgen
TimaFrolov Feb 7, 2023
17a198e
Fix data restoring after function call in mipsgen
TimaFrolov Feb 7, 2023
bf20a13
Remove mutable_lvalue type, make lvalue type mutable instead
TimaFrolov Feb 7, 2023
121c5a4
fix displacements_add behaviour for register variables in mipsgen
TimaFrolov Feb 8, 2023
4f16024
remove unnecessary displacements_add_function_argument function in mi…
TimaFrolov Feb 8, 2023
eda37fd
Fixed wrong order of operands in binary expressions
DrRobik Feb 8, 2023
d243b4e
Merge pull request #350 from TimaFrolov/fix-return-statement-mips
IvanArkhipov1999 Feb 9, 2023
770493c
Merge pull request #351 from TimaFrolov/fix-saved-registers-mips
IvanArkhipov1999 Feb 9, 2023
b78e538
Merge pull request #353 from TimaFrolov/fix-restoring-data-after-call…
IvanArkhipov1999 Feb 9, 2023
d74e5f2
Delete RuC.sublime-project
bugdea1er Feb 9, 2023
724088f
Undo changes in register argument counter in emit_function_defenition…
TimaFrolov Feb 9, 2023
50e8d5e
Merge pull request #352 from TimaFrolov/fix-function-arguments-mips
IvanArkhipov1999 Feb 9, 2023
2a6c6f2
Fixed wrong order of operands in binary expressions
DrRobik Feb 13, 2023
d1bfbda
Create displacements_set function, change displacement_add function i…
TimaFrolov Feb 14, 2023
2da6027
Add support for more than four function arguments in mipsgen
TimaFrolov Feb 14, 2023
e1deafd
Fix allocating space for local variables in mipsgen
TimaFrolov Feb 14, 2023
64a1326
Fix type of location variable in displacements_add function in mipsgen
TimaFrolov Feb 14, 2023
44f59a8
Fixed code style
DrRobik Feb 15, 2023
0d6c6c4
Fix warning in displacements_add function in mipsgen
TimaFrolov Feb 20, 2023
a5ec48a
add is_register argument to displacements_add function in mipsgen
TimaFrolov Feb 21, 2023
4df82fe
change displacements_set function in mipsgen
TimaFrolov Feb 21, 2023
03435e3
Refactored code of emit_binary_operation function
DrRobik Feb 27, 2023
fdc6cc4
assert on is_register == true in displacements_add in mipsgen
TimaFrolov Feb 27, 2023
f25dc07
fix typo on previous commit in displacements_add in mipsgen
TimaFrolov Feb 27, 2023
4fcce6c
Merge pull request #359 from TimaFrolov/feature-displacement-set-mips
IvanArkhipov1999 Feb 28, 2023
b5124b5
Merge branch 'feature' into feature-arguments-mips
TimaFrolov Feb 28, 2023
4613eb3
Change implementation of stack function arguments to match changes in…
TimaFrolov Feb 28, 2023
720aafd
Refactored code of emit_binary_operation function one more time
IgnatSergeev Mar 4, 2023
38c78fb
Changed comment
IgnatSergeev Mar 4, 2023
01876ab
Changed comments and function description
IgnatSergeev Mar 6, 2023
090b342
Add const type modifier
TimaFrolov Mar 6, 2023
55169be
Fixed structure initialisation
IgnatSergeev Mar 7, 2023
a2ca1cd
Fixed lack of register freeing
IgnatSergeev Mar 13, 2023
a382ef6
Add possibility to make pointer to const type out of pointer to non-c…
TimaFrolov Mar 14, 2023
95e78c1
Changed comment and did some code style fixing
IgnatSergeev Mar 14, 2023
9817bc1
Merge pull request #371 from IgnatSergeev/fix-struct-init
bugdea1er Mar 14, 2023
12442fa
Rename function argument counters in mipsgen
TimaFrolov Mar 14, 2023
9a73882
Change processing function arguments in mipsgen
TimaFrolov Mar 14, 2023
7a4e268
Merge pull request #360 from TimaFrolov/feature-arguments-mips
bugdea1er Mar 14, 2023
d3bdb6b
Remove primitive const types
TimaFrolov Mar 16, 2023
b2f22c9
Merge branch 'feature' into feature-const
TimaFrolov Mar 16, 2023
343746b
Fix getting size of const types
TimaFrolov Mar 19, 2023
3dc42f5
Fix equality check for const types
TimaFrolov Mar 19, 2023
86ce0eb
Make VM codegen hide const types from out file
TimaFrolov Mar 19, 2023
d8fcda1
Undo previous commit
TimaFrolov Mar 21, 2023
905185b
Fix code style
TimaFrolov Mar 21, 2023
bb5cd96
Enable debug output for windows tests on virtual machine
TimaFrolov Mar 21, 2023
a4bcffb
Changes according to review
TimaFrolov Mar 25, 2023
0e1510f
Disable debug output for windows tests
TimaFrolov Mar 25, 2023
ff9ff0b
Fix bug occured in previous commit
TimaFrolov Mar 25, 2023
dc41b83
Fixed loading structure lvalue
IgnatSergeev Mar 26, 2023
fd10674
Fixed emit ternary expression
IgnatSergeev Mar 26, 2023
e6a041f
Found that instruction is wrong after testing
IgnatSergeev Mar 26, 2023
cf73da2
Fix const pointers as function arguments
TimaFrolov Mar 27, 2023
669ae6a
Add comments for type-qualifiers
TimaFrolov Mar 27, 2023
5504230
Add error for const function type
TimaFrolov Mar 27, 2023
24d2a15
Move multiple_const_in_type error to semantic errors block
TimaFrolov Mar 27, 2023
43966e2
Add tests for new errors
TimaFrolov Mar 27, 2023
00997be
Fixed variable storing
IgnatSergeev Mar 27, 2023
942d9e4
Added arrays correction
IgnatSergeev Mar 27, 2023
bb102c8
Switch from windows-2022 to windows-2019
TimaFrolov Mar 28, 2023
2132c15
Merge pull request #386 from TimaFrolov/patch-1
bugdea1er Mar 28, 2023
9232695
Merge branch 'feature' into feature-const
TimaFrolov Mar 28, 2023
45bbac3
Merge branch 'feature' into fix-load-of-lvalue
IgnatSergeev Mar 28, 2023
9217182
Merge branch 'feature' into fix-array-declaration
IgnatSergeev Mar 28, 2023
582ea05
Merge branch 'feature' into fix-ternary-expression
IgnatSergeev Mar 28, 2023
b691964
Merge branch 'feature' into fix-binexpr
IgnatSergeev Mar 28, 2023
c1bdfde
Merge pull request #369 from TimaFrolov/feature-const
bugdea1er Mar 28, 2023
8187558
Fixed codestyle
IgnatSergeev Mar 28, 2023
370946a
Merge pull request #358 from IgnatSergeev/fix-binexpr
IvanArkhipov1999 Mar 28, 2023
abb45a2
Merge pull request #377 from IgnatSergeev/fix-load-of-lvalue
IvanArkhipov1999 Mar 28, 2023
4938b34
Merge pull request #378 from IgnatSergeev/fix-array-declaration
IvanArkhipov1999 Mar 28, 2023
5b27cc4
Merge pull request #379 from IgnatSergeev/fix-ternary-expression
IvanArkhipov1999 Mar 28, 2023
e9bd572
fix const behaviour for struct member
TimaFrolov Apr 1, 2023
69436e8
Add error for const defenition without initialization
TimaFrolov Apr 3, 2023
af0c141
Add test for new error
TimaFrolov Apr 3, 2023
3a16017
Add support for const type in codegen for VM
TimaFrolov Apr 3, 2023
8aa1551
Add executable test for const
TimaFrolov Apr 3, 2023
3422fdb
Better error handling for const without init
TimaFrolov Apr 10, 2023
137058b
Add tests for new errors
TimaFrolov Apr 10, 2023
cb62fc9
Merge pull request #391 from andrey-terekhov/master
IvanArkhipov1999 Apr 11, 2023
98e163e
Remove extra line
TimaFrolov Apr 11, 2023
6fd33c2
Disable windows 2019
georgiy-belyanin Apr 11, 2023
0a35595
Disable windows 2019
georgiy-belyanin Apr 11, 2023
e1f7a73
Disable windows 2019
georgiy-belyanin Apr 11, 2023
04dbda3
Fix bug in const for struct member
TimaFrolov Apr 11, 2023
437d73d
Merge pull request #392 from S007sayer/patch-1
IvanArkhipov1999 Apr 11, 2023
251c4e1
Merge pull request #387 from TimaFrolov/feature-const
IvanArkhipov1999 Apr 11, 2023
37c0de0
Fix style
TimaFrolov Apr 11, 2023
bf843cf
Merge pull request #388 from TimaFrolov/feature-const-codegen
IvanArkhipov1999 Apr 11, 2023
09bdc79
Merge pull request #390 from andrey-terekhov/feature
IvanArkhipov1999 Apr 11, 2023
79a51bc
Документация по языку (#400)
TimaFrolov Jul 12, 2023
594caba
Fix display on github
TimaFrolov Jul 16, 2023
acc643a
Добавлено описание режимов открытия файла
TimaFrolov Jul 16, 2023
844608c
Update documentation
TimaFrolov Jul 19, 2023
f9b7525
Add docs for CLI of ruc compiler
TimaFrolov Jul 24, 2023
95d0b6d
Fix segmentation fault in preprocessor (#399)
TimaFrolov Aug 7, 2023
35783b1
Change signatures of string functions (#401)
TimaFrolov Aug 7, 2023
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
37 changes: 0 additions & 37 deletions .github/workflows/deploy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,43 +8,6 @@ env:
ARCHIVE_NAME: compiler-${{ github.event.release.tag_name }}

jobs:
windows:
name: Windows
runs-on: windows-latest
steps:
- name: GitHub repository checkout
uses: actions/checkout@v3
- name: Build Win32 release
run: |
mkdir build32 && cd build32 && cmake .. -A Win32 && cd ..
cmake --build build32 --config Release
mkdir install32 && cmake --install build32 --prefix install32 --config Release
Compress-Archive -Path install32\* -DestinationPath ${{ env.ARCHIVE_NAME }}-win32.zip
- name: Upload Win32 release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ env.ARCHIVE_NAME }}-win32.zip
asset_name: ${{ env.ARCHIVE_NAME }}-win32.zip
asset_content_type: application/zip
- name: Build x64 release
run: |
mkdir build64 && cd build64 && cmake .. -A x64 && cd ..
cmake --build build64 --config Release
mkdir install64 && cmake --install build64 --prefix install64 --config Release
Compress-Archive -Path install64\* -DestinationPath ${{ env.ARCHIVE_NAME }}-win64.zip
- name: Upload x64 release
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ github.token }}
with:
upload_url: ${{ github.event.release.upload_url }}
asset_path: ${{ env.ARCHIVE_NAME }}-win64.zip
asset_name: ${{ env.ARCHIVE_NAME }}-win64.zip
asset_content_type: application/zip

ubuntu:
name: Ubuntu
runs-on: ubuntu-latest
Expand Down
12 changes: 0 additions & 12 deletions .github/workflows/llvm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,18 +5,6 @@ on:
- pull_request

jobs:
windows:
name: Windows Server 2022
runs-on: windows-2022
steps:
- name: GitHub repository checkout
uses: actions/checkout@v3
- name: Run script
shell: bash
run: |
patch ./scripts/test.sh < ./scripts/llvm.patch
./scripts/test.sh

ubuntu:
name: Ubuntu 20.04
runs-on: ubuntu-20.04
Expand Down
10 changes: 0 additions & 10 deletions .github/workflows/virtual.yml
Original file line number Diff line number Diff line change
Expand Up @@ -5,16 +5,6 @@ on:
- pull_request

jobs:
windows:
name: Windows Server 2022
runs-on: windows-2022
steps:
- name: GitHub repository checkout
uses: actions/checkout@v3
- name: Run script
shell: bash
run: ./scripts/test.sh

ubuntu:
name: Ubuntu 20.04
runs-on: ubuntu-20.04
Expand Down
13 changes: 13 additions & 0 deletions docs/CLI.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
Использование:
```
ruc [OPTIONS] <FILES> [-o OUTPUT]
```
ruc - компилятор языка RuC. По умолчанию, генерация кода идёт в коды виртуальной машины РуСи.
Выходной файл по умолчанию:
* `out.ruc` в случае генерации кода под виртуальную машину
* `out.s` в случае генерации кода под архитектуру mips64el
Возможные параметры:
* `-MIPS` - генерировать код под архитектуру mips64el вместо виртуальной машины РуСи.
* `-E` - остановится после выполнения стадии трансляции 2. (после завершения работы препроцессора)
* `-Wno` - не выводить предупреждения.
* `-I<path>` - добавить путь `path`, в котором будет искать файлы для включения директива `#include`
2,042 changes: 2,042 additions & 0 deletions docs/Language.md

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
Документация по языку описана в файле [Language.md](Language.md)
Руководство по использованию компилятора из командной строки описано в файле [CLI.md](CLI.md)
Loading