I made a easy to understand and easy to write programming language

newman50ott2 pts1 comments

GitHub - NEWMAN50ott/A-Lang: This is a open source bare metal programming language · GitHub

/" data-turbo-transient="true" />

Skip to content

Search or jump to...

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

-->

Search

Clear

Search syntax tips

Provide feedback

--><br>We read every piece of feedback, and take your input very seriously.

Include my email address so I can be contacted

Cancel

Submit feedback

Saved searches

Use saved searches to filter your results more quickly

-->

Name

Query

To see all available qualifiers, see our documentation.

Cancel

Create saved search

Sign in

/;ref_cta:Sign up;ref_loc:header logged out"}"<br>Sign up

Appearance settings

Resetting focus

You signed in with another tab or window. Reload to refresh your session.<br>You signed out in another tab or window. Reload to refresh your session.<br>You switched accounts on another tab or window. Reload to refresh your session.

Dismiss alert

{{ message }}

NEWMAN50ott

A-Lang

Public

Notifications<br>You must be signed in to change notification settings

Fork

Star

main

BranchesTags

Go to file

CodeOpen more actions menu

Folders and files<br>NameNameLast commit message<br>Last commit date<br>Latest commit

History<br>8 Commits<br>8 Commits

LICENSE

LICENSE

README.md

README.md

build.bat

build.bat

build.sh

build.sh

compiler.c

compiler.c

View all files

Repository files navigation

A-Lang

This is a open source bare metal programming language:

Language A & The Acc Toolchain

The A Language is licensed under the GNU GPLv3

Welcome to Language A , a minimalist, memory-safe, bare-metal systems language designed specifically for writing 64-bit operating system kernels without the structural noise and cryptic symbols of C or Rust.

🚀 Core Philosophy

Zero Boilerplate : No braces {}, no semicolons ;, and no complex pointer arrows ->.

Compile-Time Borrow Checker : Implements strict resource management (borrow/release) that blocks memory corruption bugs before generating machine code.

Direct Hardware Control : Native keywords for low-level tasks like Multi-core tracking (cores, broadcast), atomic Spinlocks (lock), and memory routing (write).

Dynamic Output Generation : Outputs are cleanly mapped to your unique project names with automated intermediate file cleaning built straight into the engine core.

🛠️ Language Reference & Syntax

# Initialize resources<br>video_memory = 0xB8000<br>green_character = 0x0A41

# Safe borrowing block<br>borrow worker_pointer = video_memory<br>write worker_pointer = green_character

# Return resource control<br>release worker_pointer

🔧 Building the Compiler

Prerequisites

Make sure your system environment path variables include:

A standard C compiler (GCC )

The Netwide Assembler (NASM )

A standard 64-bit Linker (LD )

Setup (Windows)

Double-click build.bat to generate your native compiler driver acc.exe.

Setup (Linux / macOS)

Open your desktop terminal application directly inside this workspace directory and execute:

chmod +x build.sh<br>./build.sh

💻 Writing and Compiling Code

Create a fresh text file anywhere in your folder and name it whatever you like (e.g., os_game.a).

Type your safe bare-metal instructions inside it:

video = 0xB8000<br>character = 0x0A41

write video = character

loop<br>halt<br>end

Run your custom file through the compiler pipeline:

# Windows Command Prompt<br>acc.exe os_game.a

# Linux / macOS Terminal<br>./acc os_game.a

📦 Clean Pipeline Artifacts

The compiler dynamically processes your source layout and spits out a standalone, bootable 64-bit kernel file matching your input name (e.g., os_game.bin). All intermediate assembly files (.asm and .o) are automatically erased from your directory layout upon success to keep your workspace perfectly clean.

About

This is a open source bare metal programming language

Resources

Readme

License

GPL-3.0 license

Uh oh!

There was an error while loading. Please reload this page.

Activity

Stars

stars

Watchers

watching

Forks

forks

Report repository

Releases

No releases published

Packages

Uh oh!

There was an error while loading. Please reload this page.

Contributors

Uh oh!

There was an error while loading. Please reload this page.

Languages

70.8%

Batchfile<br>14.7%

Shell<br>14.5%

You can’t perform that action at this time.

language build compiler reload bare metal

Related Articles