Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Final Year Project: K Language, A Modern Progressive Teaching Language

NotificationsYou must be signed in to change notification settings

KevinZonda/k-lang

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

Repository Structure

├───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)

Landing Page (Web)

cd webpnpm ipnpm dev

Compile IDLE

IDLE is a GUI-based application, it uses cgo & GTK3 to create the GUI.
In different platform, GUI config may different.

Windows

  1. Install MSYS2
  2. Open MSYS2 MINGW64
  3. 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
  4. AddC:\msys64\mingw64\bin to PATH

macOS

  1. Install Homebrew
  2. brew install gtk+3brew install gtksourceview3brew install gtk-mac-integrationbrew install pkg-configbrew install gcc

Debian-based Linux (Ubuntu, etc.)

sudo apt-get install libgtk-3-devsudo apt-get install libgtksourceview-3.0-devsudo apt-get install pkg-configsudo apt-get install gcc

Fedora

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

Resources

Stars

Watchers

Forks


[8]ページ先頭

©2009-2025 Movatter.jp