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.