- Notifications
You must be signed in to change notification settings - Fork0
Final Year Project: K Language, A Modern Progressive Teaching Language
NotificationsYou must be signed in to change notification settings
KevinZonda/k-lang
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Note
This was also my undergraduate FYP (Final Year Project, aka thesis) for my B.Sc. Computer Science degree at the University of Birmingham, supervised byDr. Paul Levy.
The latest version (i.e. commit) I submitted to the University is97f26d656a9ff409bae506240da118cb8b10f53f
.I also tagged it asfyp.
You can also access it at uni's GitLab (if you have permission) athttps://git.cs.bham.ac.uk/projects-2023-24/xxs166
Instruction to run the code,click here
├───antlr4 # Language's Antlr4 definition is here├───scripts # All scripts stores here├───res # Resource files├───src # Source code of the language│ ├───ast # AST Constractor│ │ ├───node│ │ ├───...│ │ └───visitor│ ├───eval # Evaluator│ ├───main│ ├───out # Ignored, compiled binary│ ├───parser # Antlr4 generated codes│ ├───...│ └───utils├───playground # Playground: K-Language Web Demo│ ├───index.html # Entry Point│ ├───syntax.js # Syntax Highlighter│ └───core.wasm # K-Language Wasm Core├───web # Landing Pages & others└───vscode-plugin # VSCode Plugin for this Language ├───klang-highlighter └───out # Ignored, but is for generated VSCode plugin file (.VSIX)
cd webpnpm ipnpm dev
IDLE is a GUI-based application, it uses cgo & GTK3 to create the GUI.
In different platform, GUI config may different.
- Install MSYS2
- Open MSYS2 MINGW64
pacman -S mingw-w64-x86_64-gccpacman -S mingw-w64-x86_64-gtk3pacman -S mingw-w64-x86_64-pkg-configpacman -S mingw-w64-x86_64-toolchainpacman -S mingw-w64-x86_64-gtksourceview3
- Add
C:\msys64\mingw64\bin
to PATH
- Install Homebrew
brew install gtk+3brew install gtksourceview3brew install gtk-mac-integrationbrew install pkg-configbrew install gcc
sudo apt-get install libgtk-3-devsudo apt-get install libgtksourceview-3.0-devsudo apt-get install pkg-configsudo apt-get install gcc
sudo dnf install gtksourceview3-develsudo dnf install gtk3-develsudo dnf install pkgconfsudo dnf install gccsudo ln -s /usr/lib64/pkgconfig/gtksourceview-3.0.pc /usr/lib64/pkgconfig/gtksourceview-3.pc# other distros use 3 instead of 3.0
About
Final Year Project: K Language, A Modern Progressive Teaching Language