Basic parts of a compiler for the subset of C++ language using LR(1) grammar.
What's implemented: lexical, syntactic, and semantic analysis.
- Update paths to your Qt/MinGW
- in
scripts\deploy_dynamic.bat
- and
scripts\windows-build-qt-static.ps1
- in
- Install UPX.
- Download
clang-format
binary from this page. ActivateBeautifier
plugin in Qt Creator and customize its options: set "Clang Format"->"Use predefined style" to "File", check "Enable auto format on file save." - Configure your builds:
dynamic | static | |
---|---|---|
build directory | ..\scompiler-build-desktop |
..\scompiler-build-desktop-static |
configurations | debug, release | release |
extra build step (release) | cmd /C "%{sourceDir}\scripts\deploy_dynamic.bat" |
cmd /C "%{sourceDir}\scripts\deploy_static.bat" |
Use this guide: https://wiki.qt.io/Building_a_static_Qt_for_Windows_using_MinGW
To compile static Qt, run the following in Windows PowerShell:
Set-ExecutionPolicy RemoteSigned
.\scripts\windows-build-qt-static.ps1
o // use the Open Source Edition
y // accept the license offer
... // wait ☕
Set-ExecutionPolicy Restricted // restore the policy
- "unknown" data type
- Reverse Polish notation (poliz)
- cycle 1: syntax, symbol/block tables
- cycle 2: rpn, semantics
This project is licensed under the terms of the MIT license.