ABJAD 1.0.0
dotnet add package ABJAD --version 1.0.0
NuGet\Install-Package ABJAD -Version 1.0.0
<PackageReference Include="ABJAD" Version="1.0.0" />
<PackageVersion Include="ABJAD" Version="1.0.0" />
<PackageReference Include="ABJAD" />
paket add ABJAD --version 1.0.0
#r "nuget: ABJAD, 1.0.0"
#:package ABJAD@1.0.0
#addin nuget:?package=ABJAD&version=1.0.0
#tool nuget:?package=ABJAD&version=1.0.0
ABJAD
An Arabic Scripting Interpreted Programming Language written using C#
<img width="200px" src="https://github.com/mezdn/ABJAD/blob/master/assets/abjad-800.png" />
Website:
https://mohammed.ezzedine.me/abjad
Online documentation and an editor for writing and running ABJAD code.
Support for both Arabic and English Languages.
Naming:
Abjad (in Arabic: أبجد) refers to the alphabets
Use Case:
It can be used for teaching kids, with limited knowledge in English, some concepts about programming.
Features:
<ul> Till now, it supports limitted and basic programming features: <li>Declaring variables and constants</li> <li>Assigning values to variables</li> <li>Do computational jobs using the basic math operators (+, -, * and /)</li> <li>Creating functions with or without parameters</li> <li>Creating classes and instantiating them</li> <li>For and while loops</li> <li>If-else statements</li> <li>Printing values to a file</li> <li>Adding comments to the code</li> </ul>
Specifications:
- ABJAD is a dynamically typed language (like JavaScript, Python, etc.)
- ABJAD is an interpreted lanugage (opposite to compiled languages)
- ABJAD programs have
.abjadfile extension
Syntax:
It is similar in syntax to JavaScript, with two basic modifications: the characters language (Arabic), and the text direction (From right to left).
Here is a Hello World example:
أكتب("مرحبا بالعالم!")؛
- The syntax basically resembles the usage of curly braces as in C family languages
- Statements must end with a semicolon
؛
For more details about the syntax, check this wiki page
ABJAD sample programs:
Grammar:
The grammar of the language is provided <a href="https://github.com/mezdn/ABJAD/blob/master/context-free%20grammar.md">here</a>.
A reference to words-tokens mapping is provided <a href="https://github.com/mezdn/ABJAD/blob/master/tokens.md">here</a>
Installation:
Instructions for installing and using ABJAD's interpreter are provided in the wiki <a href="https://github.com/mezdn/ABJAD/wiki">here</a>
Writing ABJAD programs:
You're going to need an editor that supports Right-To-Left text alignment. You can use Notepad++
License:
MIT License for open-source projects.
Inspiration and Reference:
<a href="https://github.com/mrahhal/CSharpLox">CSharpLox</a> by Mohammad Rahhal.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
| .NET Core | netcoreapp3.1 is compatible. |
-
.NETCoreApp 3.1
- ABJAD.InterpretEngine (>= 1.0.0)
- ABJAD.IO (>= 1.0.0)
- ABJAD.LexEngine (>= 1.0.0)
- ABJAD.Models (>= 1.0.0)
- ABJAD.ParseEngine (>= 1.0.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
| Version | Downloads | Last Updated | |
|---|---|---|---|
| 1.0.0 | 625 | 9/3/2022 |