Okey, today we work with Jakt.What is Jakt ? this is your answerd -> Jakt is a memory-safe systems programming language.it develop and maintain by Serenity OS team and today we would like to compile it and use it.
The project maintainers at this time (Wed 10 May 2023 01:30:45 PM) are :
- @awesomekling,
- @jntrnr,
- @linusg,
- @alimpfard,
- @gunnarbeutner,
- @bgianfo,
- @IdanHo,
- @trflynn89,
- @AtkinsSJ
- @ADKaster.
If you're curious to learn about maintainers, you can read more here.
To compile Jakt you need to install these tools
- < clang-14
- < cmake-14
- Latest git version
For this example I use cmake 3.26.3 and clang-15 15.0.7.
To install CMake on Linux, you can download the appropriate version for your needs from the link below :
https://cmake.org/download/I downloaded cmake-3.26.3-linux-x86_64.sh file a use it to install CMake on my machine. for installing CMake you can use this command like me :
sh cmake-3.26.3-linux-x86_64.sh --prefix=/usr/local --skip-licenseThis shell script can either install CMake or export it to the address /usr/local.
There are two options that we can use :
- --prefix= -> This indicates the export path.
- --skip-license -> This option indicates to skip over the license.
Instead of installing clang-15 manually, I will use apt. For this reason, we can use the following command:
bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)"This link can be useful if you want to learn more about installing clang : https://apt.llvm.org/
The above command will download a shell script, run it, and add the necessary clang repository to apt on your system. When all tasks are completed, you can use apt to download clang-15.
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install clang-15Okay, now that we have completed the previous steps, we are ready to compile Jakt on our system. Let's move on to the next section!
To clone the Jakt project from GitHub, we can use the following commands:
mkdir jakt_compiler
cd jakt_compiler
git clone https://github.com/SerenityOS/jakt.git
cd jaktAfter completing all of the above tasks, we can use cmake to generate the appropriate compiler build script. To do this, we can use the following command:
cmake -B build -GNinja -DCMAKE_CXX_COMPILER=clang++-15Note: that cmake creates a build script for
clang++-15by usingCMakeLists.txt.
The above command will take approximately a minute to run. Once all tasks are completed, we can use the following command to compile Jakt with ninja:
ninja -C buildWhen you run the above command, ninja will compile the Jakt source code using the build script that CMake has created.
After the ninja building system has completed its work, a build directory should be created inside the Jakt directory. You can find all of the Jakt files inside this folder. To test the jakt compiler, I recommend following these commands:
cd ./build/bin
./jakt --help
If everything is all right, you should be able to see the help options and commands. If you can see them, then I can say well done! :) We have compiled the Jakt programming language compiler together.
To test the jakt compiler, create a folder inside the samples directory called mycode, and place your "Hello, World" application inside it. To do this, please follow these instructions:
cd samples
mkdir mycode
cd mycode
touch s-01.jakt
vim s-01.jaktWhen you open s-01.jakt with vim, you can enter the following simple "Hello, World" code inside it:
fn main() {
println("{}", "Hello World")
}
After entering the 'Hello, World' code inside s-01.jakt with vim, save it using the following command within the vim editor:
:wqSince we know our compiler is located inside the bin folder, we can use the following command to compile the s-01.jakt app:
../../build/bin/jakt -C /usr/bin/clang++-15 ./s-01.jaktThe above command will translate our Jakt code to C++ code. It will then create a build folder inside our mycode directory and compile the translated C++ code using clang++-15, putting the resulting executable inside the build folder.
You may wonder about the -C /usr/bin/clang++-15 option. This option specifies the location of the clang++-15 C++ compiler that Jakt uses to compile exported C++ code.
To see a list of all available options and switches for compilation, run the ./jakt -h command.
To run your compiled app, use the following command in your terminal:
./build/s-01The result should look something like this:
Hello World:) Congratulations! We did everything correctly. Now we can use the Jakt compiler. I hope you enjoy it ;)